= 10.41 (28th April, 2023) = * Fix: CSRF, Authorization issues when send an email. = 10.40 (24th January, 2023) = * Fix: {UNSUBLINK} tag not working properly when send an email. * Fix: subscribe2 emails no longer sending when publish a post. * Fix: template entities not working properly in settings page (line breaks, tabs were lost etc.). * Fix: subscribe2 notification overridden checkbox not working properly. * Fix: debug error when uninstall plugin & use error suppression. * Fix: email sending is always selected when multiple choose attachment. * Enhance: add email attachment removing option from send email. = 10.39 (23st December, 2022) = * Fix classic editor page meta field error. = 10.38 (21st December, 2022) = * Fix security related issues & also make compatible with wp v6.1.1 = 10.37 (23rd November, 2021) = * Fix HTML widgets issue * Fix logged-in user can see subscription form = 10.36 (30th September, 2021) = * WordPress 5.8 compatibility * Fix form preview on widgets * Fix pop up form * Fix send schedule email options * Fix one click subscription * Fix some PHP warnings = 10.35 (15th March, 2021) = * Fix {UNSUBLINK} shortcode * WordPress 5.7 compatibility = 10.34 (24th August, 2020) = * Fix gutenberg script loading issue = 10.33 (4th June, 2020) = * Bump tested upto version 4.4 * Minimum PHP version set to 5.4 = 10.32 = * Bump minimum required WordPress to 4.4 * Apply fix for poor list layout in plaintext emails when using Block Editor - thank to @eightize * Introduce 's2_plaintext' filter to allow plaintext to be filtered before tags are stripped to correct for layout needs * Show join date for Registered Subscribers with data from WordPress table * Fix email templates to preserve line spacing on new installs and resets * Send Digest Preview emails from editing pages if Subscribe2 HTML is in Digest email mode * Fix typo error in default options file * Improve Help tab for Excluded categories - thanks to @iwaddo * Convert some self closing HTML tags to HTML5 * Escape plugin output for better security * Don't capitalise Custom Post Type names registered via the API when displayed back to admins * Remove MailOptin from this fork * Fix for JavaScript IP updater setting not saving when unchecked = 10.31 = * Enhance DNS check when validating email addresses * Pass full email as second parameter to 's2_sanitize_email' filter * Validate emails fully when making database changes, but simpler and faster checks when sending notifications * Better escaping of subscriber email data when reporting errors to Subscribers page * Fix some Coding Standards Issues * Correct maximum execution time limit to 5 minutes * Fix some new Coding Standards errors and warnings * Applied coding standards to MO Notice class * Clean unused global variables * Implemented compatibility with Fusion Builder * Fix error caused by menu registration in WordPress 5.3 = 10.30 = * Code efficiency enhancements * Avoid duplication of preview and resend emails due to cron spawning of browser requests = 10.29 = * Trim unused back-ported code from Subscribe2 HTML * Fixed issue in Subscriber dropdown filter that displayed category names in the Public Subscriber dropdown * Textareas in the Settings page are now more responsive to screen displays * Allow definition of S2GDPR constant anywhere * Mark old meta boxes as existing for backwards compatibility * Add meta box to authoring page to enable easy resending of notifications for published posts * Fix for missing posts in Digest email * Fix for malformed digest emails * Apply default override setting to Block Editor sidebar panel * Enable translation files from more locations * Implement conditional rendering of Meta Boxs in Classic Editor = 10.28 = * Fix warning message for when set_time_limit() is disabled in php.ini * Remove unused variable to fix error message * Fixes for strict in_array() checks = 10.27 = * Tightened checks for Coding Standards * Fixed bug in category form display caused by tighter coding standards * Save Editor content before sending preview email for better user experience * Update Excerpt creation code for languages that don't use spaces - props Masatoshi Hakoshima * Improved layout and efficiency of JavaScript files * Enable Preview emails for Classic Editor users * Update to use latest jQuery UI css library * Tidied up unused globals = 10.26 = * Fixed a bug in barred domain checking * Migrate email override meta box to a sidebar for the 'Gutenberg' block editor * Migrate email preview meta box to a sidebar for the 'Gutenberg' block editor * Moved new Block Editor code to separate class * Fixed issue in transition of wrap parameter in the new Block when changing to and from the shortcode block * Updated to latest PHP Code sniff standards and cleansed files * Other minor bug fixes and enhancements = 10.25 = * Dropped use of the 'Precedence' email header as use is controversial and not widely supported * Fix for date appearing in wrong language when authors use different language in WordPress admin to the main site language * Gutenberg block updated for useOnce deprecation and transition to shortcode block improved from recently added and unsaved block * Fixed warning message on Your Subscriptions page * Further Coding Standard improvements * Add GDPR warning to Settings page for certain settings * Fixed error message in older version of WordPress where get_user_locale() function is not available * Extended 's2_form' filter to include shortcode attributes to allow more accurate filtering * Extended Widget to pass attribute to indicate Widget use over standard form use * Fix some notices generated by undefined variables * Ensure Editor buttons loads when Classic Editor plugin in use with WordPress 5.0 = 10.24 = * Fixes for the Subscribers page - sorting and Multisite improvements * Code layout improvements * Other minor bug fixes and enhancements = 10.23 = * Improve REGEX for the old Subscribe2 token - props @pik256 * Introduce Gutenberg Block for testing * Applied Grunt to packing for distribution so files are minified differently * Load external javascripts asynchronously * Improve Bulk Management user experience * Move Display options for Subscriber page to screen option * Fixed error messages when using 's2_custom_keyword' hook in digest mode - thanks to Bryan Fogarty * Ported several features from Subscribe2 HTML including Remote IP checking and email address validation * Other minor big fixes = 10.22.2 = * Fix JavaScript issue when toggling subscribers * Fix to correct display of Registered Subscribers on multisite installs * Fix for Content Type in plaintext emails = 10.22.1 = * Minor release with some bug fixes that really needed fixing - thanks to @doyousoft and @tastymouse = 10.22 = * New release with lots of code improvements, bug fixes and enhancements - thanks to Bryan Hadaway (bhadaway) = 10.21 = * Remove ReadyGraph from subscribe2 = 10.20.9 = * disable monetization by default = 10.20.8 = * WP 4.3 bug fix = 10.20.7 = * uninstall bug fix * RG banner removal - x buttons * Ajax implementation for popup - by mattyrob = 10.20.6 = * Security Fix for readygraph * Provide delete readygraph option in more clear way = 10.20.5 = * Make monetization absolutely optional and opt-in * Turn on monetization only after they register for ReadyGraph = 10.20.4 = * Bug Fix for readygraph = 10.20.3 = * Bug Fix for readygraph = 10.20.2 = * Bug Fix for readygraph = 10.20.1 = * Bug Fix = 10.20.0 = * Bug Fix for readygraph and compatibility with other plugins * New code structure for readygraph * User can delete the readygraph to completely remove it. * Subsequent upgrades wont load readygraph except a plugin is disabled and re-enabled. = 10.19.0 = * Add monetization option for readygraph * Applied enhancements from the queue in trac. = 10.18.5 = * Get larger blog post for daily digest * Code cleanup = 10.18.4 = * Readygraph premium plan default change * Bug fix = 10.18.3 = * Readygraph premium plan selections * Site profile for readygraph promotions = 10.18.2 = * ReadyGraph Bug Fixes * ReadyGraph Banner on plugin pages = 10.18.1 = * Bug Fixes = 10.18 = * Option to synch current subscriber list * Bug Fixes = 10.17.2 = * Disconnect/Delete Readygraph Link fix * Deactivation confirmation message = 10.17.1 = * link fix = 10.17 = * Bug Fixes = 10.16 = * XSS security fix * ReadyGraph Premium Features * UI Tweaks = 10.15 = * Bug Fix - disable popup = 10.14 = * GUI change * Tutorial * FAQ included = 10.13 = * Uninstall Readygraph Option * Daily digest * Real time post update to all the subscribers = 10.12 = * Popup customization templates selection * Performance update for faster javascript load. * updated signup form information = Version 10.11 = * 2-way synchronization with readygraph popup * Performance update for faster javascript load. * contact information for readygraph = Version 10.10 = * Send blog updates to readygraph for weekly digest. You can turn it off from readygraph settings page. * Fix Readygraph banner close permanently = Version 10.9 = * Close button to dismiss Readygraph connect button on plugins page * Add option to hide Powered by Readygraph from popup * Readygraph TOS and Privacy Policy link is required as Readygraph stores the sign up email address on behalf of site owner, to remove these links you will need to disconnect the Readygraph from Readygraph Settings page. = Version 10.8 = * Re-Integrate Readygraph Features into Subscribe2 * Disconnect readygraph option inside readygraph settings page = Version 10.7 = * Roll back to version with basic Readygraph - v.10.3 = Version 10.6 = * Bug Fix = Version 10.5 = * Bug Fix = Version 10.4 = * Integrate Readygraph Wordpress Plugin * Readygraph feature is handled by Readygraph plugin = Version 10.3 = * Fix ReadyGraph page for i18n * Fix ReadyGraph page for HTML validity * Add feature to unlink ReadyGraph = Version 10.2 = * Fix bugs for readygraph features = Version 10.1 by Matthew Robinson = * Revert introduction of ReadyGraph features until they are production ready * Resolve a critical SQL Injection vulnerability introduced in recent code * Fix jQuery conflict caused by TinyMCE4 plugin - props Greg Ross = Version 10.0 = * Initial introduction of ReadyGraph features = Version 9.5 by Matthew Robinson = * Improved placement and usage of the 's2_custom_keywords' filter in the digest emails * Fix for some undefined variable notices * Fixes for database connectivity in the upgrade class file - thanks to rushu25 * Fix for bug when antispam measures are disabled - thanks to serinx * Add option to Sidebar Widget to not wrap the button below the form * Straightened quotes in the ChangeLog * Remove all uses of PHP extract() function as per core ticket (https://core.trac.wordpress.org/ticket/22400) = Version 9.4 by Matthew Robinson = * Fix for non-existing variable errors on Subscribe2->Subscribers page - thanks to bapakrob and perezlr * Don't display Excluded Categories in Bulk Management is Registered users cannot override the exclusion * Fix for disappearing Jetpack Stats module - thanks to desertravenart * Fix for undefined variable notices in the digest emails = Version 9.3 by Matthew Robinson = * Only add 'weekly' cron schedule interval if it does not already exist * Add capability to add social media share buttons to HTML emails * Update editor plugin for TinyMCE version 4 bundled with WordPress 3.9 * Rework Digest emails to collect posts based on transition status rather than time - see ticket https://plugins.trac.wordpress.org/ticket/2058 * Hide comment form subscription options if using Jetpack Comments and improve compatibility * Fixed typos in the Help tab on the Settings page * Improved domain name comparison for sender email check - props garypardun * Tidied load_string() function and moved it to class-s2-frontend.php as all strings are not for user side only * Ensure 's2_authors' keys exist on all sites and for all Registered Users as per illmasterc's bug report * Introduce 's2_mu_blog_list' filter to allow filter of blog list for WordPress Multisite installs - props careb * Enable built-in widget by default - props by MadtownLems * Use a better method for unendcoding HTML special characters for plain text emails - proposed by Dainius Kaupaitis * Fixed a bug affecting handling of Registered users with email aliases (e.g. name+alias@gmail.com) - thanks to Alexandre (bosseal) * Improved Character Set encoding of some email headers * Improved user registration hooking for Multisite installs - thanks to dsl255 * Introduce a filter to allow filtering of the confirm link URL - props diddledan * Introduce a confirmation box for Registered User deletion - props geoorgge1968 * Improved Bulk Management user experience by retaining submitted settings = Version 9.2 by Matthew Robinson = * Fixed an error in the Registered User deletion code - thanks to Jay Wasack = Version 9.1 by Matthew Robinson = * Shortcode parameters are now not case sensitive * Fixed AJAX mode to work with new Anti Spam code * Suppress undefined variable warnings when sending Digest Email previews * Include Signup Date and IP for Public Subscribers in CSV Export - props Taylor4484 * Fix for Sticky Posts in the digest returning errant posts - thanks to belg4mit * Move FAQs to external site to allow more timely updates * Add ability to hide other Multisite blogs with CSS in the Subscribe2->Your Subscriptions page (DIV id of 's2_mu_sites') - props cblsysadmin * Add 's2_form' filter to allow dynamic alterations to the default form - props adam_jack * Conduct more thorough checking for Public and Registered emails when adding users in the admin pages - thanks to MadtownLems * Introduce the {REFERENCELINKS} keyword - props manu1033 * Fix link to jQuery CSS for servers using HTTPS connections - props Christian (aka Alariel) * Introduce link to Templates page with unsupported keywords are detected - props MadtownLems * Ensure all JavaScript passes the JSHint WordPress Coding Standards * Initialise 'colorpicker' boxes on page load so they are coloured before first user click * Only add a new Weekly schedule if it doesn't already exist * Use trim() on post excerpt to account for blank but non-empty excerpts * Don't display screen icons in WordPress 3.8 as they are hidden by CSS - see ticket http://core.trac.wordpress.org/ticket/26119 * Added 's2_confirm_email' filter to allow amendment or replacement of the subscribe and unsubscribe emails - proposed by Tim Büttner * Fixed a typo in the names of the five 's2_send_{email_type}_subscribers' hooks - thanks to robertjj * Introduced the 's2_post_statuses' to allow for custom post status transitions, for example with the 'Edit Flow' plugin * Fix for failed deletion of Registered Subscribers in Subscribe2->Subscribers page - thanks to Russ Michaels = Version 9.0 by Matthew Robinson = * Added capability to send emails with attachments from Send Email page * Added feature that removes unconfirmed public subscribers after 28 days (time frame can be altered with a filter) * Added ability to bulk delete Registered Users/Subscribers * Use {IMAGE} tag in HTML excerpt emails and digests only, images would be stripped in plain text and included anyway in full content HTML - applies to Subscribe2 HTML only * Added help tabs on the plugins admin pages * Improved the comparison of barred domains to subscribing email addresses - thanks to SashainSydney * Added Text Domain to the plugin header to allow information on plugin page to translate - thanks to qwertysimo * Applied a fix to ensure translation of all strings - thanks to qwertysimo * Improved some strings to use sprintf() - thanks to Tom Adams (tomdxw) * Use jQuery.noConflict(); when AJAX is enabled * Removed excess span tag from the Counter Widget - thanks to dimagsv * Allow filtering of admin email address for the emails sent when users confirm a subscription or unsubscription - suggested by 3cstudio * Fixed default email notification subject text - thanks to Steve C @ 3Cstudio * Fixed ability to have translation files in WP_LANG folder * Fixed an issue with pagination of search results - thanks to sijpie * Fixed 'Add Registered User' button in Subscribe2->Subscribers, Registered Tab - thanks to qwik3r * Improved pages dropdown to an ordered and hierarchical display - thanks to xavierlh1 * Improved control over digest email scheduling - proposed by Jason Lemahieu * Fixed Subscriber Dropdown counts for Compulsory categories * Added a link to Tranlation files to the plugin page and the miscellaneous tab of the Subscribe2->Settings page - props eyephone21 * Added {KEYWORD} checking in the template to warn users of disallowed keywords - proposed by Jason Lemahieu * Fixed some notices in the Send Email page - thanks to Bryan Hadaway (bhadaway) * Added anti-spam measures to the sign up form - thanks to Bryan Hadaway (bhadaway) * Update query_filter() function to hook into the 'request' filter instead of the deprecated 'query_filter' * Added a default 'Select a page' option to the page dropdown to highlight the need to have a published page select * Added filters to the subscription and unsubscription confirmation messages to allow personalisation - see FAQs for example functions * Remove Simple Facebook Connect action during subscription and unsubscription confirmation to ensure user messages are displayed * Improved white space stripping in the plaintext full content email * Fixed a PHP notice on the Subscribe2->Subscribers page - thanks to emile.swain * Fixes the non-working 'check all' boxes in WordPress 3.6 and above * NOTE Version 9.0 needs WordPress 3.3 or above = Version 8.9.1 by Matthew Robinson = * Check for the existence of the mb_encode_mimeheader function before use as it's optional in PHP builds - thanks to derekmacewen * Fix for fatal error in upgrade code due to calling the wrong class = Version 8.9 by Matthew Robinson = * Fix fatal error in the uninstall.php file * Correct error using set_url_scheme() function in WordPress version prior to 3.5 * Allow the Widget to post form back to referring page by omitting action for parameter - thanks to Peter Gordon * Fix for options being reset on Multisite installs - thanks to Luca * Make sure translation strings are loaded during install(), upgrade() and reset() - thanks to Milan Dinić * Fix internationalisation of subscribers list table - thanks to Milan Dinić * Use mb_encode_mimeheader on email sender name - thanks to xl32 * Trim email addresses before sanitising them - thanks to byarts * Optimised the upgrade() function for large sites = Version 8.8 by Matthew Robinson = * Added ability to filter both excerpt_length and word_wrap * Added code to stop site wide activation on Multisite installs * Added code to fix compatibility issues with Autoblog plugin - thanks to Kevin Waite and Andy Stratton * Fixed digit entry in pagination section on Registeres tab in Subscribe2->Subscribers * Removed ID from a string in the Settings page as it was confusing * Enhanced Compulsory Category code to ensure that Registered Users all get notifications for such categories despite their current personal settings * Improved Pagination when the Filter is changed on the Subscribe2->Subscribers page * Use $wpdb->prefix in preference to $table_prefix * Improve functionality of the uninstall script on Multisite installs * Fixed glitch in upgrade85 code that failed to add a new database column when called * Sort subscribers into alphabetical order irrespective of case - thanks to mharpen = Version 8.7 by Matthew Robinson = * Enabled {TITLE} as a keyword in URL Tracking in free version * Moved Subscribers page class code to a new external class file to avoid fatal PHP errors on some sites * Fixed a glitch in the {TABLELINK} tag caused by adding support for {TINYLINK} to the digest email * Fixed and repaired addition of extra comma to s2_subscribed table values and also addition of null s2cat values * Fixed incomplete table creation on new installs - thanks to niclaslockner * Fix for PHP Warning about an undefined $value variable on form submission - thanks to annewinterbottom * Rename public subscriber variables internally for consistency * Implement variable caching for Registered users in the same way as for Public subscribers * Widen Subject boxes on the Subscribe2->Settings:Templates page - props Orion42 * Allow easier customisation of the word wrap length in plain text emails - props Orion42 * Abstracted the upgrade() code and made it incremental so that only necessary code is executed * Fixed a bug in the Send Email page that failed to send emails to Public Subscribers when All Users was selected - thanks to Gui * Added an option to disable JavaScript within the Widget * Minor code improvements = Version 8.6 by Matthew Robinson = * Minor layout update to Widget Settings * Fix for non-sending notifications for pages - proposed by ctcdesign * Fix for a translation domain error in admin/settings.php - proposed by monpelaud * Fix for deprecated is_blog_user() function on Multisite installs - proposed by hallcp * Extend Subscribe2 database table to collect additional data to meet DreamHost privacy policy - thanks to matt, joshukraine and Dreamhost * Refresh Subscribers page in admin, tables now sortable on present columns * Order CSS files better by applying CSSComb * Reuse $value variable in the 'frontend' class to reduce translation strings * Improve AJAX form to obey the shortcode hide parameter - proposed by bwsl * Correct spelling error in the Settings page - proposed by dimadin * Call translation code via a hook to allow greater dynamic control - proposed by dimadin * Look in more locations for translation files, can place in core languages folder now for upgrade protection * Refresh Settings page in admin to a tabbed interface * Strip HTML from email subject to improve compatibility with other plugins and WordPress 3.5 * Fixed bug in the display of compulsory categories in the Settings page * Add option to manually send emails to All Registered Users and Public Subscribers - proposed by TigWeb * Enable TinyURL link shortening for Digest Notification Emails if {TINYLINK} is present in the Email Template * Fixed bug in TinyURL error handling and fallback when link generation fails * Fixed bug where {DATE} was left blank in the subject field for future scheduled post notifications - thanks to Steve Savoy * Added a filter to allow on-the-fly alteration of the size of the {IMAGE} in the paid version * Fixed a warning message for a core function ready for WordPress 3.6 * Enabled {TITLE} as a keyword in URL Tracking in HTML version = Version 8.5 by Matthew Robinson = * Fixed width of a page select drop down in the Widget settings - thanks to Balky79 * Added option to check the comment subscription box by default - proposed by Doug Lerner * Improved off-domain error message in Settings page and address checking if Blogname is selected * Fixed an issue on Multisite installs displaying the wrong link to profiles pages for other blog sites - thanks to MadtownLems * Fixed an issue with Image and Shortcode replacement in the visual editor (TinyMCE) - thanks to Dave Firman * Fixed unique IDs for 2 possible error messages in the Settings page - thanks to MadtownLems * Fixed several HTML5 validation error in the admin pages * Improved regex replacedment of s strike and del HTML tags in plaintext emails - thanks to jimshell * Use wp_kses() rather than strip_tags() on email subject lines so that single angle brackets are allowed - thanks to eightize and esmi * Allow remote definition of email address in form - thanks to orion42 * Added ability to have compulsory categories - proposed by iClimb * Apply WordPress the_author filter to the author names to improve plugin compatibility - proposed by SpaciousMind * Added the ability to track the post ID in the tracking Parameter field - proposed by Laga * Protect the 's2email' post meta key - proposed by Nally123 * Strip excess white space within the Digest email when images are removed * Add a time column to the public subscriber table for hosting provider spam policy compliance - proposed by Erik N * Change plugin folder name to suppress update prompts for the HTML version * Rename js files consistently with core ticket 21633 * Add width parameter to comment form text to fix issues with some themes - proposed by mharpen * Added option to include Sticky Posts at the top of all Digest Notifications - proposed by pkhatmedia * Fixed some Markdown errors in the ReadMe = Version 8.4 by Matthew Robinson = * Fixed an error in the 'Send Mail' page that blocked emails from being sent * Added tracking features to Digest title links in HTML version - thanks to Jeremy Schultz * Provide clearer user feedback for Send and Preview buttons in "Send Email" window * Add new option to the Widget to return users to the home page on submission * Added warning to Settings page if selected sender email address is "off-domain" * Fixed numerous minor SQL injections vectors - thanks to Tom Adams (holizz) * Removed auto-embed iframes from HTML emails - thanks to Doug Lerner * Add more intuitive user messages for Public Subscribers when Unsubscribing - thanks to Doug Lerner = Version 8.3 by Matthew Robinson = * Fixed a bunch of PHP messages - should not show anyway unless WP_DEBUG is true or PHP error reporting is on a high setting * Fixed bulk category management so it applies to all users and not just the first record * Update 'autosub' to no on one-click unsubscribe instead of erasing the value * Return empty string is get_tracking_link() is passed and empty variable * Fixed some typographical errors * Fixed profile page to obey 'one click' display setting * Fixed implode error seen when sending preview emails on some configurations * Fixed a error in the admin user dropdown on installs (particularly Multisite) where there may be no administrator level users * Added a button text filter for the Subscribe and Unsubscribe buttons - proposed by casben79 * Use wp_hash in place of MD5 to further obfuscate confirmation links - thanks to Charlie Eriksen, Otto and Ipstenu = Version 8.2 by Matthew Robinson = * Implemented use of Farbtastic as colour chooser in the Counter Widget because ColorPicker has been deprecated in WordPress * Fixed one hook call in WordPress to pass $this variable by reference to save a little more RAM * Fixed Subscribe2 implementation of custom taxonomies * Fixed Bulk Management Format Change code to apply for all users * Fix for low impact security vulnerability = Version 8.1 by Matthew Robinson = * Fixed redirect errors and crash affecting multisite installs on upgrade to 8.0 - thanks in particular to Ed Cooper * Fixed several other multisite bugs affecting links and styling - thanks to Mark Olbert * Fixed empty CSV exports - thanks to Gil Namur = Version 8.0 by Matthew Robinson = * Split the main plugin file into separate classes for more efficient (60% less RAM) server resource usage - huge thanks to Milan Petrovic * Ensure notifications for posts are sent to all active registered users * Fixed bug in Bulk Management code to include all filtered Registered Subscribers, not just those on current screen - thanks to samandiriel * Fixed some PHP messages regarding use of deprecated clean_url() function and WordPress version checking - thanks to anmari * Improved white space trimming in the code so it respects tabs and line breaks - thanks to belg4mit * Updated screenshots to Subscribe2 8.0 and WordPress 3.3.1 screen layouts * Implemented one-click buttons to subscribe and unsubscribe - thanks to dimadin for code patch * Changed some default settings, sender to BLOGNAME and number of recipients per email to 1 * Implemented a change so that categories are not displayed in the filter dropdowns when using Subscribe2 in digest mode * Ensure an action is specified for HTML5 validity - thanks to Franco Carinato * Introduced 4 new hooks to filter per-post subscribers for each of the 4 email types - thanks to Nicolas Noé = Version 7.2 by Matthew Robinson = * Fix for non-sending Preview emails when sender details match recipient details exactly * Remove some HTML tags (DEL, S and STRIKE) from plain text content to avoid confusing reading - props cpo * Improved removal of excess white space within the content of the plain text emails * Introduced 'size' parameter to the shortcode to allow sizing of the email text input box * Fix for non-sending emails to newly Registered Subscribers - thanks to Gengar003 and WebEndev * Fix for commenter subscriptions on systems without moderation in place - thanks to elarson * Improved the TinyMCE plugin code that handles placement of the Subscribe2 shortcode in the rich text editor * Tidied up some public subscribe functions removing unnecessary code = Version 7.1 by Matthew Robinson = * Fix for Opt-out by Author for Registered Users that resulted in posts being sent even though a user had opted out * Workaround implemented for core WordPress glitch that reults in blank sender details in digest emails when using "Post Author" as sender * Introduced DIV HTML tags to the administrion menu screens to allow jQuery custom hiding by plugins - proposed by madtownlems * Reduced code overhead when collecting admin level users * Fix for non-sending emails when published via XML RPC interface (like the iOS app and Windows Live Writer) - thanks to bellarush & Marc Williams * Removed the X-Mailer header ready for core PHPMailer update * Removed single use of split() function which is deprecated in PHP 5.3.0 * Added additional parameters to the 's2_html_email' hook - props Milan Dinić * Added a check on wp-cron.php to warn digest email users - props Dave Bergschneider = Version 7.0.1 by Matthew Robinson = * Fixed a typo in the include/options file that caused failed installs and upgrades * Fix for get_registered() function for fringe situations = Version 7.0 by Matthew Robinson = * NOTE Subscribe2 now requires WordPress 3.1 or higher * Implemented top level menu to make Subscribe2 menu access easier * Introduced the ability to add UTM Tracking parameters to email links - Thanks to Sander de Boer * Introduced Opt-out by Author for Registered Users (on sites where there is more than one author) * Improved table layout code on user management page * Make use of core checked() function to save code space * Show user name for Registered Users when mouse is hovered over email address in Subscribe2->Subscribers * Move IP address display on hover from date of signup to email address for Public Subscribers so consistent with above change * Introduced the 's2_capability' filter to allow API amendments to page access for different user capabilities * Added support to exclude 'post formats' from generating emails provided 'post formats' are supported by the current active theme * Implemented use of core WordPress functions to place the authoring button shortcuts, removed reliance on buttonsnap.php so this library is now dropped * Implement use of wp_register_scripts() function * Display custom post types added using the API in the Settings page as confirmation things are working * Added two missed strings to the translation domain and corrected a typo - thanks to Stig Ulfsby * Added a filter for the outgoing email subject line * Added an option to AJAXify the form, read the FAQs for how to use this new feature = Version 6.5 by Matthew Robinson = * Fix for Multisite / MU detection for WordPress versions prior to 3.0 * Fix in the upgrade() function to insert database entires for Registered Users on first time install * Fix for the uninstaller script to allow use on regular and Multisite WordPress * Updated uninstaller to remove any postmeta entries on uninstall * Fix for blank post detail on HTML Excerpt notifications when the post content is brief * Fix for some PHP notices * Fix to remove all cron settings when options are reverted to per-post * Minor code layout changes and comment updates * Dropped use of WP_CONTENT_DIR to fix issues on site where wp-content/ folder has been moved = Version 6.4 by Matthew Robinson = * Wrapped all KEYWORDS in curly brackets {} so capitalised keywords can be used in content without being replaced * Added support for Custom Taxonomies - thanks to Ian Dunn * Added feature to allow commenters on your blog to subscribe when commenting (requires WordPress 2.9+) * Improved and updated some of the jQuery ready for WordPress 3.2 * Introduced 's2_registered_subscribers' filter to allow other plugins to dynamically add or remove email addresses to the 'registered' array - thanks to Allan Tan * Improved handling of [gallery] shortcode where no post id is defined for HTML emails - thanks to Chris Grady * Removed trailing semi colons from the maybe_add_column function calls * Fixed a type on the Settings page - thanks to Deborah Hanchey * Updated editor buttons to insert shortcode instead of token * Fixed some PHP notices about undeclared variables * Compressed some of the javascript code includes to reduce download time * Fixes to the Counter Widget ColorPicker jQuery code * Fixes to the Counter Widget label tags * Fixed a bug in the new_category function that was introduced in version 6.3 - thanks to crashtest * Improved the user experience when clicking Subscribe and Unsubscribe links in the WordPress MultiSite interface - thanks to Huyz * Improved the Bulk Manage section to take into account the digest notification setting * Updated the uninstall script * Updated some of the code comments to aid reviewing * Other minor improvements and fixes = Version 6.3 by Matthew Robinson = * Stopped using deprecated get_usermeta(), update_usermeta() and delete_usermeta() functions in WordPress 3.1 * Use WP_User_Query class and functions in WordPress 3.1 * Stop using buggy is_blog_user() multisite function * Fixed a bug where the creating of a new category would re-subscribed digest email users incorrectly = Version 6.2 by Matthew Robinson = * Pass email address to add() function explicitly * Fix typos in the ReadMe * Added warning on the Options page to avoid using the Subscribe2 KEYWORDS in posts as they will get substituted * Added HTML LABEL tags to the Subscribe2 form to support WCAG * SSL friendly with WordPress admin areas * Added filter to allow on-the-fly manipulation of the digest email * Added option choice to have emails send from the global admin email and addressed from the name of the blog * Change sending details for Preview emails so they can be more easily identified by type * Fixed a typo in a screen message to WordPressMU users = Version 6.1 by Matthew Robinson = * Fixed a glitch in the HTML tags in the Subscribe2 Widget that affected drag and drop functions in WordPress - thanks to Marty McOmber * Improved detection of Multisite installs - thanks to Nada Oneal * Fixed precontent and postcontent in the Widget to retain entered HTML tags - reported by Rob Saxe * Fixed a few small typos in the inline code comments and email subjects * Fixed a bug where Bulk Management changes to move all users to Plain Text Full content would result in blank settings - reported by Sean @ GetSatisfaction * Fixed issued with TIME and AUTHORNAME keywords in digest emails - thanks to Robert @ GetSatisfaction * Introduced a more flexible Subscribe2 shortcode - thanks to Milan for the patch code = Version 6.0 by Matthew Robinson = * Improved case sensitive SQL queries to avoid issues on some server configurations * Introduced option to check the notification override button by default at Settings->Subscribe2 - Appearance * Extend support for for multiuser sites to include WordPress 3.0 * Converted both Widgets to the WordPress 2.8 API - check your widgets are installation * Improved the Colour Picker in the Counter Widget * Integrated the Counter Widget into the Settings page * Removed several functions from the code for WordPress versions prior to 2.8 (2.8 is now a minimum requirement for Subscribe2) * Removed legacy tinymce files that are no longer required * Added code to prevent duplicate Public Subscriber entries * Introduced TABLELINKS keyword for digest type notifications = Version 5.9 by Matthew Robinson = * Added support for WordPress 3.0 Custom Post Types * Fix for failed save of "entries per page" setting * Correct Digest display issue associated with use of AUTHORNAME keyword * Fixed issue where posts were not included in Digest notifications despite settings * Fixed possible issue where a page is not included in Digest notifications if a certain category is excluded * Fixed issue where successful emailing from Post->Mail Subscribers would report as failed if Subscribe2 is set to email one user per email - Thanks to Meini from Utech Computer Solutions (www.utechworld.com) * Added a preview button in the Email Subscribers screen that will send current content of the window to the logged in user * Avoid duplicating the MIME-Version header in the emails * Removed direct links to Support forum * Ensure that Subscribe2 sanitises email addresses to RFC5322 and RFC5321 - Thanks to Vital * Improved the 'Save Emails to CSV' function to include additional information - Thanks to John Griffiths (www.luadesign.co.uk) * Report that there is no digest notification to resend rather than success if there are no posts in the email = Version 5.8 by Matthew Robinson = * Reverted erroneous use of a WordPress 3.0 function = Version 5.7 by Matthew Robinson = * Corrected some missed strings to allow i18n translation * Added AUTHORNAME to digest notification in the same was a TAGS and CATS (i.e. a fixed location in email independent of location in template) * Ensure digest email sending times are not updated when resend is invoked * Error check options for number of users displayed per page and if not an integer use default setting of 25 * Better name for cron 'define' and improved 'define' and 'defined' statements * Revert to using WordPress capability when adding menus rather than user_level, latter is deprecated * Added DATE and TIME keywords for per-post notifications = Version 5.6 by Matthew Robinson = * Fixed a critical bug in the digest function - a typo resulting failed notifications * Added ability to resend the last digest email again * Improved Bulk Management to apply to filtered users only (provided they are still Registered and not Public Subscribers) * Fix for HTML Excerpt mails not using email template = Version 5.5 by Matthew Robinson = * Made the email header function pluggable to allow custom changes that persist through versions * Fix for failed upgrades * Ensure HTML entities in blogname are decoded for emails * Add safety checking for options at install to protect against randomly resetting options = Version 5.4 by Matthew Robinson = * Fixed a bug introduced in 5.3 that produced in malformed email headers resulting in failed emails * Fixed an upgrade error that could result in an incomplete table update which blocked new subscriptions = Version 5.3 by Matthew Robinson = * Added an HTML Excerpt notification type which sends an HTML formatted excerpt of the post * Issue an error message in Settings->Subscribe2 if there is no WordPress page published on the blog site * Improved usage of time dropdown in Settings->Subscribe2 so it works for periodic emails that are on a less than daily frequency * Sorted categories by slugname for better presentation in the category selection area * Make sure Preview emails skip the mail queue if WPMQ is used * Fixed issue where blog posts made by email generated duplicate notifications * Added fixes with the hope of stopping the random settings reset glitch many thanks to Barbara Wiebel * Fixed AJAX bugs caused by deprecated jQuery function * Fixed an issue where Registered Users who have requests a password reset disappear from Subscribe2 * Amended code for IP address collection to work around IIS servers * Added COUNT keyword * Ensure that BLOGNAME is not used in digest emails if it is empty = Version 5.2 by Matthew Robinson = * Added screen_icon() to each Subscribe2 admin page * Improved addition of links to the Plugins admin page * Improved XHTML validity of admin pages * Improved display of category hierarchy display in the category form * Added ability to use TAGS & CATS keywords in digest mails (position is static irrespective of keyword location) * Use PHP variable for Subscribe2 folder to allow for easier renaming (if needed) * Fixed a bug in TinyURL encoding introduced when links were click enabled * Removed BurnURL from the plugin as it appears to be no longer operational * Added urlencode to email addresses in Tools->Subscribers when editing other user preferences * Restored several FAQs to the ReadMe file and the [WordPress.org FAQ section](http://wordpress.org/extend/plugins/subscribe2/faq/) = Version 5.1 by Matthew Robinson = * Add widget options to add custom text before and a after the dynamic Subscribe2 output - thank to Lee Willis * Add protection against SQL injection attacks to the data entered into the Subscribe2 table * Applied a fix for WP_User_Search on PHP4 installations * Collect IP address of subscribers either at initial submission or at confirmation as required by some hosts to allow relaxation of email restrictions. IP details are in the database or available when the mouse pointer is held over the sign up date in Tools->Subscribers * Fix for script execution time limit code for sites that have safe mode on or that have disable ini_set() * Display category slugs when mouse pointer is held over the name in the category form area * Fixed display of HTML entities in the subject of emails by using html_entity_decode() * Fixed substitution of the MYNAME keyword in notification emails * Added option to use BurnURL as an alternative to TinyURL to create shorter link URLs = Version 5.0 by Matthew Robinson = * Change version number to reflect change in the on going support of the plugin which is now a searchable forum or a paid service * Added links to online Subscribe2 resources into the Options->Subscribe2 page * Fixed Digest Time Dropdown to recall Cron Task scheduled time * Fixed code using updated [Admin Menu Plugin](http://wordpress.org/extend/plugins/ozh-admin-drop-down-menu/) API * Fixed foreach() error in widget rename function * Improved layout of widget control boxes * Improved identification of Administrator level users on blogs where usermeta table entries for user_level are low or missing * Removed avatar plugin support on WPMU due to processing overhead * Improved the layout of the digest email with respect to inclusion of unnecessary white space * Extended maximum script runtime for servers not using PHP in safe mode = Version 4.18 by Matthew Robinson = * Option to sort digest posts in ascending or descending order * Check that plugin options array exists before calling upgrade functions * Improved reliability of the Preview function * Extended Preview function to digest emails * Fixed a code glitch that stopped CATS and TAGS from working * Fixed incorrect sender information is emails are set to come from Post Author * Simplified email notification format options in Users->Subscriptions for per-post notifications * Added Bulk Manage option to update email notification format * Simplified the usermeta database entries from two format variables down to one * Removed trailing spaces from some strings for improved i18n support * Improved Bulk Subscribe and Unsubscribe routines to avoid database artefacts * Moved Select/Deselect All check box to the top of the category list in admin pages * Fixed small layout glitch in Manage->Subscribers screen * Added ChangeLog section to ReadMe to support WordPress.org/extend development = Version 4.17 by Matthew Robinson = * Tested for compatibility with WordPress 2.8.x * Added TAGS and CATS keyword for per-post notification templates * Fixed bug where confirmation emails may have an empty sender field if notifications come from post author * Fixed a bug in WPMU CSS * Added option to exclude new categories by default * Fixed a bug where emails may not be sent to subscribers when a user subscribes or unsubscribes * Improved accessing of 'Admin' level users on blogs where user_level is set below 10 * Added ability to send email previews to currently logged in user from Settings->Subscribe2 * Styled admin menu form buttons to fit with WordPress theme * Improved handling of confirmation sending to reduce errors = Version 4.16 by Matthew Robinson = * Correct minor layout issue in Settings->Subscribe2 * Allow users to define the div class name for the widget for styling purposes * Select from a greater number of notification senders via dropdown list in Settings * Improved efficiency of newly added WordPressMU code * Added ability to manage across-blog subscriptions when using WordPressMU * Fixed bug whereby Public Subscribers may not have got notification emails for posts if Private Posts were blocked * Added ability to define email Subject contents in Settings->Subscribe2 * Sanity checks of email subject and body templates to ensure they are not empty * Introduced s2_html_email and s2_plain_email filters to allow manipulation of email messages after construction * Amended handling of database entries to simplify code and database needs * Improved the layout of the Subscriber drop down menu * Added bullet points to the TABLE of posts * Ensure database remains clean when categories are deleted * Added new option to manage how auto-subscribe handles excluded categories = Version 4.15 by Matthew Robinson = * Fixed E_DEPRECATE warning caused by a variable being passed by reference to the ksort() function * Fixed called to undefined function caused by typo * Fixed a syntax error in the SQL code constructors affecting some users = Version 4.14 by Matthew Robinson = * Reordered some functions to improve grouping * Stop s2mail custom variable being added if empty * Localised 'Send Digest Notification at' string * Add support for template tags in Post->Mail Subscribers emails * Improve handling of translation files for more recent version of WordPress * Implemented