[ADD] - Added OpenAPI specs for the API (`/api/index.php/docs`)
[ADD] - Added listfieldvalue_model_value_max_length and surveyfieldvalue_model_value_max_length filter hook
[ADD] - Added honeypot for the public "Block Address" page
[RMV] - Removed DynEmail
[MSC] - Overall fixes
[UPD] - Updated composer packages
[BUG] - REMOTE_CONTENT tag would not parse DS_* tags
[ENH] - Pass the server to all parsing functions that can make use of it
[ADD] - Added campaign_remote_content_tag_fetch_content_cache_key filter hook to set the cache key for when fetching the content of REMOTE_CONTENT tag
[ADD] - Added campaign_remote_content_tag_fetch_content_use_cache filter hook to decide if the content fetched from the remote url will be CACHED or not
[CHG] - Headers for bounces, complaints, etc, will now be html decoded during the parsing process by the bounce handler
[ENH] - Add support for PKCS#8 beside PKCS#1 BUT force PKCS#1 for compatibility reasons
[BUG] - Fix for gmail unsubscribe request due to the fact that it is not following redirects
[MSC] - Overall fixes
[UPD] - Updated composer packages
[ADD] - Add ability for customers to select if they want to receive DNS details via email for Sending Domains
[ADD] - Added the ability to restrict the number of the responses per responder for a survey.
[BUG] - Fixed a bug preventing subscriber values to be set on copy/move actions
[ADD] - Added the new interactive command named delete-email-blacklist-by-criteria that deletes the email blacklists based on a date range and reason criteria
[ADD] - Added ability to set the IP Pool for Sendgrid delivery servers
[BUG] - The campaigns could not be deleted in the backend and cli if the customer owning it would have "Can delete own campaigns" set to No. This was corrected
[BUG] - The campaigns share stats were sent only to the first email address from the comma separated list. This was corrected
[BUG] - Cancelling bulk deletion in the customer area is still deleting the campaigns
[MSC] - Overall fixes
[UPD] - Updated composer packages
[BUG] - Fix bulk delete of email blacklist when not all selected records would be deleted
[CHG] - Abuse complaints will be stored per customer specific blacklist if/when the feature is enabled, otherwise, they will stay in the global blacklist
[ADD] - Added SMTP server type for GreenArrow
[CHG] - XML and JSON feeds will not use cache if they contain dynamic tags in their attributes
[ADD] - Added campaign_model_postpone_seconds_count filter hook
[ADD] - Ability to send an email notification to the customer with the DNS Records to add, when a sending domain is created in the backend
[ADD] - Added {user|customer}_login_remember_me_default_value filter hooks to determine if the remember me checkbox at login is checked or not by default
[ADD] - Added a new command: delete-expired-sessions, to delete expired sessions from database
[ADD] - The new delete-expired-sessions command will also run in the daily cron job, automatically
[ADD] - Added the ability to limit the number of list custom fields for customers/customer groups
[ADD] - Added new endpoints for creating/updating/deleting list subscribers segments.
[ADD] - Added new endpoint to retrieve the list segments operators
[ADD] - Now the campaigns endpoint can filter the campaigns based on the list_uid
[ADD] - Exposing the field_id for the list field values endpoint
[ADD] - Added new endpoints for creating/updating/deleting list fields.
[ENH] - For delivery servers, you can now have multiple "use for" cases
[ENH] - For test emails in campaigns, delivery servers where "use for" is set for test emails will be selected first, if they exist. If not, the ones for campaigns will be used.
[ENH] - For test emails in lists(templates), delivery servers where "use for" is set for test emails will be selected first, if they exist. If not, the ones for lists will be used.
[ADD] - Added list_field_builder_type_[FIELD_TYPE]_crud_build_field_array filter hooks
[ENH] - Email box Monitors now check the Subject header as well; best for List-Unsubscribe header auto-generated emails
[ADD] - Added config.shiftEnterMode = CKEDITOR.ENTER_BR; to ckeditor configuration
[ENH] - EmailBoxMonitor can now decode and read base64 encoded messages as well and it will also look in the email subject
[ADD] - Added ability for force the FROM NAME on delivery servers
[CHG] - Deprecated DeliveryServer::sendEmail method in favour of DeliveryServer::send. Calling DeliveryServer::sendEmail will still work but will trigger a deprecation notice.
[ADD] - Added console_send_campaigns_command_{find|count}_subscribers filter hooks
[BUG] - Fixed the CSS issues for GrapesJS
[MSC] - Overall fixes
[UPD] - Updated composer packages
[BUG] - Autoresponder menu item would not be displayed on new installs in customer area
[BUG] - Loaders would not be properly aligned
[MSC] - Overall fixes
[UPD] - Updated composer packages
[ENH] - When unsubscribed and re-subscribe via the web interface, the subscriber will now get the welcome email if enabled
[ADD] - Added a new AR event, AUTORESPONDER_EVENT_AFTER_PROFILE_UPDATE, triggered only when subscribers update their profile
[CHG] - Change the way we set daily sending intervals, now you set the start date and an interval, in hours
[CHG] - We are using last_updated now for the unsubscribes and blacklisted statuses in the ListSubscribers7DaysActivityWidget query.
[MSC] - Overall fixes
[UPD] - Updated composer packages