e and From Email headers in the Expiring Soon emails.<\\/li>\\n<li>Fix: Invalid character in SoftDescriptor during registration when using PayPal Pro.<\\/li>\\n<li>Tweak: Pass the discount and subscription ID to the rcp_discounts_once_per_user filter.<\\/li>\\n<li>Enhancement: Added \\\"View User Account\\\" link to payment records on the Payments page.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.8, October 3, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: User registration does not complete when using Stripe Checkout with a 100% discount code.<\\/li>\\n<li>Fix: Unrecognized options in Stripe Checkout.<\\/li>\\n<li>Fix: Cancellation emails were sent twice when a member cancels a subscription.<\\/li>\\n<li>Fix: improve security of all member-facing forms.<\\/li>\\n<li>Tweak: use rcp_get_currency() helper function throughout the plugin instead of direct option calls. Improves compatibility for developers.<\\/li>\\n<li>Enhancement: Send RCP plugin name, version, and your site URL to Stripe when making charges. Useful for debugging issues with Stripe. Stripe refers to this as setAppInfo.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.7, September 20, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Tweak: Better error handling for Stripe processing failures<\\/li>\\n<li>Tweak: Improved performance of registration form processing<\\/li>\\n<li>Tweak: Removed \\\"Cancel\\\" button from edit member screen to reduce confusion<\\/li>\\n<li>Tweak: Notice is now displayed when enabling login redirect without a login form on the redirect page<\\/li>\\n<li>Fix: Logos on invoices can extend beyond container<\\/li>\\n<li>Fix: Invalid integer error with Stripe when using discounts<\\/li>\\n<li>Fix: Custom date range not clickable in Reports<\\/li>\\n<li>Fix: Content improperly restricted to free members when using access levels<\\/li>\\n<li>Fix: Incorrect filter name in payment meta DB class<\\/li>\\n<li>Fix: Check if DONOTCACHE page is already defined before defining it<\\/li>\\n<li>Fix: Incorrect capability checked when generating invoice<\\/li>\\n<li>Fix: Member join date not set properly when manually changing a member\'s subscription level<\\/li>\\n<li>Fix: Memory leak on edit member page that could cause session expired notices<\\/li>\\n<li>Fix: [restrict] shortcode improperly restricts to free members<\\/li>\\n<li>Fix: User role not updated when downgrading \\/ upgrading<\\/li>\\n<li>Fix: Subscription level cache not flushed when updating subscription level<\\/li>\\n<li>Fix: Free accounts cannot be registered when 2Checkout gateway is active<\\/li>\\n<\\/ul>\\n<p>Version 2.6.6, August 8, 2016<\\/p>\\n<ul>\\n<li>Fix: Payments not logged with PayPal Pro and PayPal Express when auto-renew is disabled.<\\/li>\\n<li>Fix: Incorrect subscription level selected on the registration form when manually specifying the subscription level ID in the URL.<\\/li>\\n<li>Fix: A subscription level\'s metadata is now deleted when the subcription level is deleted in the admin.<\\/li>\\n<li>Enhancement: Removed the use of PHP extract function from all shortcodes.<\\/li>\\n<li>Enhancement: The rcp_locate_template function now supports registering custom template locations via the rcp_template_stack filter.<\\/li>\\n<li>Enhancement: Added the rcp_available_template_tags action hook to let developers add new email template tags to the Available Template Tags display in the Email settings tab.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.5, August 1, 2016<\\/p>\\n<ul>\\n<li>Fix: Stripe gateway not working properly on some sites. Fixes invalid request errors due to TLS.<\\/li>\\n<li>Fix: \\\"Last Week\\\" earnings report not working properly.<\\/li>\\n<li>Fix: PayPal Pro gateway not working properly on some accounts that do not use automatic renewals.<\\/li>\\n<li>Fix: Issue where paid members could not renew their expired subscriptions on the registration form.<\\/li>\\n<li>Fix: Remove empty spaces from Stripe API keys when saving to prevent copy and paste errors when entering the keys in settings.<\\/li>\\n<li>Fix: Show an error message on registration form if Stripe keys are not entered.<\\/li>\\n<li>Fix: Define CAL_GREGORIAN constant on systems that do not do it already.<\\/li>\\n<li>Fix: Update settings description for Hide Premium Posts.<\\/li>\\n<li>Enhancement: Add Recurring column to member CSV export.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.4, July 26, 2016<\\/p>\\n<ul>\\n<li>Fix: Discounted total calculation bug when discounted total is $1000 or more.<\\/li>\\n<li>Fix: Stripe Checkout missing token error when used with the [register_form] shortcode and the ID option.<\\/li>\\n<li>Fix: Stripe subscription expiration dates improperly extended under certain conditions.<\\/li>\\n<li>Fix: Subscription name blank in emails when the subscription was added manually.<\\/li>\\n<li>Fix: Timezone configurations not always respected when calculating expirations.<\\/li>\\n<li>Fix: Invoices not showing the email address defined in settings.<\\/li>\\n<li>Fix: Registration form error message when a site only has free subscriptions activated.<\\/li>\\n<li>Fix: Auto-fill the email address on the Stripe Checkout form when possible.<\\/li>\\n<li>Enhancement: Added a rcp_is_sandbox helper function for determining if a site is in sandbox mode.<\\/li>\\n<li>Updated: Dutch language files.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.3, July 11, 2016<\\/p>\\n<ul>\\n<li>Fix: Issue with taxonomy restrictions introduced in 2.6.2.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.2, July 11, 2016<\\/p>\\n<ul>\\n<li>Fix: Issue with content restriction interface on post edit screen that caused it to show the improper setting when \\\"Members of any subscription level\\\" was set.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.1, July 8, 2016<\\/p>\\n<ul>\\n<li>Fix: Issue that caused content to be visible when the Paid Only option was used without any other restrictions defined.<\\/li>\\n<li>Fix: Display issue with the new user interface for restricting content.<\\/li>\\n<\\/ul>\\n<p>Version 2.6, July 7, 2016<\\/p>\\n<ul>\\n<li>New: Redesigned user interface for restricting content on posts and pages<\\/li>\\n<li>New: All admin list tables are now fully responsive<\\/li>\\n<li>New: \\u00a0Added contextual tool tips and improved setting descriptions throughout the plugin<\\/li>\\n<li>New: Replaced PDF invoices with HTML invoices, making invoices faster and easier to customize, and also reduced the size of the plugin files significantly<\\/li>\\n<li>New: Comments on restricted content are now automatically hidden from members without necessary access privileges<\\/li>\\n<li>New:\\u00a0A new Add-ons page has been added to the Restrict menu<\\/li>\\n<li>New: Added support for Alipay in Stripe Checkout<\\/li>\\n<li>New: Payment transaction IDs are now linked directly to the merchant processor page<\\/li>\\n<li>New: PayPal customers can now update the credit \\/ debit card attached to their subscription<\\/li>\\n<li>New: Join and renewal dates are now stored in meta data for members<\\/li>\\n<li>New: Added metadata APIs for subscription levels and payments<\\/li>\\n<li>New: Added improved database upgrade API<\\/li>\\n<li>Tweak: Fixed widths have been removed from labels on registration form<\\/li>\\n<li>Tweak: Improved member counts that are significantly faster<\\/li>\\n<li>Tweak: Indexes have been added to all database tables to improve performance<\\/li>\\n<li>Tweak: Stripe API libraries have been updated to the latest version<\\/li>\\n<li>Tweak: Updated French translation<\\/li>\\n<li>Fix: Expiring \\/ renewing soon email\\u00a0not sent to customers that upgrade<\\/li>\\n<li>Fix: \\\"Cannot combine currencies on customer\\\" error in Stripe<\\/li>\\n<li>Fix: \\\"No such plan: false\\\" error in Stripe<\\/li>\\n<li>Fix: Incorrect locale parameter passed to Stripe Checkout<\\/li>\\n<li>Fix: Payment Received emails are sent even when disabled<\\/li>\\n<li>Fix: Payment amount not properly sanitized in PayPal IPN processing<\\/li>\\n<li>Fix: Incorrect support forum link<\\/li>\\n<li>Fix: Pending\\u00a0expiration date shown in subscription.php template file<\\/li>\\n<li>Fix: Coupon codes not created in Stripe when only Stripe Checkout is enabled<\\/li>\\n<li>Fix: Revoke access link does not actually revoke access<\\/li>\\n<li>Fix: &lt;LI&gt; tag cannot be changed in register.php without breaking registration<\\/li>\\n<li>Fix: Editing a discount code results in a duplicate code being created in Stripe<\\/li>\\n<li>Fix: Activate License button missing<\\/li>\\n<li>Fix: Password not validated during Change Password form submission<\\/li>\\n<\\/ul>\\n<p>Version 2.5.4, May 16, 2016<\\/p>\\n<ul>\\n<li>Fix: Missing amount verification during PayPal IPN processing<\\/li>\\n<li>Fix: Incorrect page set for \\\"Update Billing Card Page\\\" during plugin install<\\/li>\\n<li>Fix: Incorrect submit button text shows when using Stripe Checkout and\\u00a0a free level is selected<\\/li>\\n<li>Fix: %subscription_name% email tag returns wrong subscription name when upgrading subscription<\\/li>\\n<li>Fix: Non-translatable strings in PayPal Express Confirmation template<\\/li>\\n<li>Fix: WP cron events not deleted when plugin is uninstalled<\\/li>\\n<li>Tweak: Improved\\u00a0access checks for [restrict] shortcode, including the introduction of a new \\\"rcp_restrict_shortcode_has_access\\\" filter<\\/li>\\n<\\/ul>\\n<p>Version 2.5.3, April 29, 2016<\\/p>\\n<ul>\\n<li>Fix: Missing text domains on strings<\\/li>\\n<li>Fix: One-time charges through Stripe not connected to customer in Stripe<\\/li>\\n<li>Fix: Currency sign on Stripe Checkout modal incorrect when not using USD<\\/li>\\n<li>Fix: Missing text strings in POT file<\\/li>\\n<li>Fix: Formatting problems with amounts over 1000<\\/li>\\n<li>Fix: Unrestricted WooCommerce products get restricted improperly<\\/li>\\n<li>Fix: Previous subscription not always cancelled in merchant processor when upgrading subscription levels<\\/li>\\n<li>Fix: Previous subscription not cancelled when upgrading to one-time payment option<\\/li>\\n<li>Fix: Refunds report introduced in 2.5 accidentally removed<\\/li>\\n<li>New: Added Portuguese translation<\\/li>\\n<\\/ul>\\n<p>Version 2.5.2, April 7, 2016<\\/p>\\n<ul>\\n<li>Fix: Trailing zeros missing from final price on registration form<\\/li>\\n<li>Fix: Incorrect column span on registration form<\\/li>\\n<li>Fix: Incorrect date recorded for some Stripe payments<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.5.1, April 5, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Prorating amounts over 1000 fails<\\/li>\\n<li>Fix: WooCommerce products incorrectly hidden when catalogue visibility is disabled<\\/li>\\n<li>Fix: Nav menus cannot be saved when Restrict Content Pro is active<\\/li>\\n<li>Tweak: Removed Description column in pricing details section of registration form<\\/li>\\n<\\/ul>\\n<p>Version 2.5, March 29, 2016<\\/p>\\n<ul>\\n<li>New: Added support for upgrading and downgrading between subscription levels with proration<\\/li>\\n<li>New: Added improved discount, signup fee, and price display on registration<\\/li>\\n<li>New: Added support for Stripe Checkout<\\/li>\\n<li>New: Improved payment history display on Member details page<\\/li>\\n<li>New: Added a View Member link to payment history rows<\\/li>\\n<li>New: Added a System Info report to aid in technical support<\\/li>\\n<li>New: Added a Refund report to the Reports page<\\/li>\\n<li>New: Added improved support for detecting re-activated subscriptions in Stripe<\\/li>\\n<li>New: Added new shortcodes for displaying membership information of currently logged in member<\\/li>\\n<li>New: Currently stored credit \\/ debit card details now show on card update form<\\/li>\\n<li>New: Content restriction options added to custom taxonomies<\\/li>\\n<li>Fix: Is Recurring flag not set properly on successful\\u00a0but\\u00a0late payments<\\/li>\\n<li>Fix: \\u00a0Initial payments not collected in PayPal Pro gateway<\\/li>\\n<li>Fix: Members not emailed when membership is added manually by site admin<\\/li>\\n<li>Fix: WP Approve User integration improperly disallows access to content with no restrictions<\\/li>\\n<li>Fix: PayPal Express and Pro\\u00a0show an error if the initial amount is less than 0<\\/li>\\n<li>Fix: Zero-decimal currencies not supported properly in Stripe<\\/li>\\n<li>Fix: Incorrect URL to Help page<\\/li>\\n<li>Fix: WooCommerce products still accessible even when restricted<\\/li>\\n<li>Fix: Payment dates do not match up with payment processor<\\/li>\\n<li>Fix: Subscription price not updated in Stripe when updated in Restrict Content Pro<\\/li>\\n<li>Fix:\\u00a0Renewal dates not\\u00a0properly synced with merchant processor when payments are processed<\\/li>\\n<li>Fix: PayPal Express logs the profile ID instead of the transaction ID<\\/li>\\n<\\/ul>\\n<p>Version 2.4.11, February 12, 2016<\\/p>\\n<ul>\\n<li>Fix: PayPal Sandbox rejecting Express and Pro signups due to http version<\\/li>\\n<li>Fix: Recurring payments in 2Checkout not processed properly<\\/li>\\n<li>Tweak: Updated PayPal APIs to version 124<\\/li>\\n<\\/ul>\\n<p>Version 2.4.10, February 7, 2016<\\/p>\\n<ul>\\n<li>Fix: Signup fees reversed in Stripe resulting in credits being given instead of fees<\\/li>\\n<\\/ul>\\n<p>Version 2.4.9, February 2, 2016<\\/p>\\n<ul>\\n<li>Fix: Expiration date not set when a pending date was already set<\\/li>\\n<li>Fix: Custom report ranges that span year boundaries display improperly<\\/li>\\n<li>Fix: Discount codes permitted non-valid amounts to be saved<\\/li>\\n<li>Fix: Subscription levels could be created without a name<\\/li>\\n<li>Fix: HTML emails were not possible due to htmlspecialchars() function<\\/li>\\n<li>New: Added new hooks for when payment processing during signup fails<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.4.8, January 22, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Duplicate 0.00 transactions with Stripe when using a signup fee<\\/li>\\n<li>Fix: Incorrect expiration dates\\u00a0with registrations through Stripe<\\/li>\\n<\\/ul>\\n<p>Version 2.4.7, December 29, 2015<\\/p>\\n<ul>\\n<li>Fix: Expiration dates incorrectly set after renewing or upgrading an existing account<\\/li>\\n<li>Fix: \\\"Profile Description Invalid\\\" error sometimes in PayPal Express<\\/li>\\n<li>New: Added class names to table columns for the Members table<\\/li>\\n<li>Tweak: Added nocache headers to the lost password processing screens<\\/li>\\n<\\/ul>\\n<p>Version 2.4.6, December 18, 2015<\\/p>\\n<ul>\\n<li>Fix: Apply Discount button was missing from register-single.php template file<\\/li>\\n<li>New: Members can now log in via email<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.4.5, December 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Logged out users shown Account Pending Verification message on all posts and pages<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.4.4, December 10, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Expiration date doubled when members subscribe with PayPal, cancel before completing payment, then subscribe again.<\\/li>\\n<li>Fix: Typo email settings<\\/li>\\n<\\/ul>\\n<p>Version 2.4.3, November 24, 2015<\\/p>\\n<ul>\\n<li>Fix: Bug with upgrading currently active subscriptions<\\/li>\\n<li>Fix: Missing INS processing for 2Checkout<\\/li>\\n<li>Fix: Undefined variable when discount code is not used<\\/li>\\n<li>New: Added action hooks to the top and bottom of the Restrict this Content metabox<\\/li>\\n<li>New: Added filters to the member queries run during\\u00a0cron jobs<\\/li>\\n<\\/ul>\\n<p>Version 2.4.2, November 7, 2015<\\/p>\\n<ul>\\n<li>Fix: Bug with Stripe webhook processing that could prevent account cancellations from working properly when cancelled from Stripe<\\/li>\\n<\\/ul>\\n<p>Version 2.4.1, November 4, 2015<\\/p>\\n<ul>\\n<li>Fix: Discount codes not discounting price in payment gateways<\\/li>\\n<\\/ul>\\n<p>Version 2.4, November 2, 2015<\\/p>\\n<ul>\\n<li>New: Added support for 2Checkout<\\/li>\\n<li>New: Added support for WP Approve User plugin for requiring admins approve user accounts<\\/li>\\n<li>Fix: PayPal payment dates and expiration dates getting out of sync<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.3.8, October 21, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Duplicate active email sent for users that register with a 100% discount code<\\/li>\\n<li>Fix: Active email not sent properly for new registrations<\\/li>\\n<li>Fix: Trial email sent improperly when 100% discount code is used<\\/li>\\n<li>Fix: 100% discount code generates \\\"Free subscriptions cannot be automatically renewed\\\" error<\\/li>\\n<\\/ul>\\n<p>Version 2.3.7, October 21, 2015<\\/p>\\n<ul>\\n<li>Fix: Missing Stripe token error<\\/li>\\n<\\/ul>\\n<p>Version 2.3.6, October 20, 2015<\\/p>\\n<ul>\\n<li>Fix: Active \\/ Welcome emails sent even for non-new accounts<\\/li>\\n<li>Fix: Admin notification after updating payment persists across page loads<\\/li>\\n<li>Fix: Manually created payments do not flush the earnings cache<\\/li>\\n<li>Fix: User search field results shown incorrectly when no results found<\\/li>\\n<li>Fix: Spelling errors across several admin pages<\\/li>\\n<li>Fix: New Subscription emails show incorrect expiration date in some cases<\\/li>\\n<li>Fix: Non-numeric amounts can be entered for payments<\\/li>\\n<li>Fix: Stripe customer credit properly supported now<\\/li>\\n<\\/ul>\\n<p>Version 2.3.5, October 6, 2015<\\/p>\\n<ul>\\n<li>Fix: Expiration date is sometimes shown incorrectly in Payment Received emails<\\/li>\\n<li>Fix: Payment dates not always respecting server\'s timestamp<\\/li>\\n<li>Fix: Undefined index notices when activating\\/deactivating discount codes when Stripe is enabled<\\/li>\\n<li>Fix: Spelling error, \\\"logout\\\" should be \\\"log out\\\"<\\/li>\\n<li>Fix: Spelling error, \\\"Mail Chimp\\\" should be \\\"MailChimp\\\"<\\/li>\\n<li>Fix: Grammar error, \\\"Setup\\\" should be \\\"Set Up\\\"<\\/li>\\n<li>Fix: Incorrect link to documentation<\\/li>\\n<li>Fix: Undefined index notices when settings have not been saved<\\/li>\\n<\\/ul>\\n<p>Version 2.3.4, September 24, 2015<\\/p>\\n<ul>\\n<li>Fix: Variable typo that caused PayPal Standard IPN processing to not work properly<\\/li>\\n<\\/ul>\\n<p>Version 2.3.3, September 22, 2015<\\/p>\\n<ul>\\n<li>Fix: renew() method incorrectly setting member status in some cases<\\/li>\\n<\\/ul>\\n<p>Version 2.3.2, September 22, 2015<\\/p>\\n<ul>\\n<li>Fix: PayPal Express IPNs not being processed properly on all accounts<\\/li>\\n<\\/ul>\\n<p>Version 2.3.1, September 18, 2015<\\/p>\\n<ul>\\n<li>Fix: Reset password URL not working<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.3, September 18, 2015<\\/strong><\\/p>\\n<ul>\\n<li>New: Added the ability to bulk edit member accounts<\\/li>\\n<li>New: Added support for reCaptcha v2.0 from Google<\\/li>\\n<li>New: Added Payment Received email option<\\/li>\\n<li>New: Account, Profile, and Card Update pages are now created automatically during install<\\/li>\\n<li>Fix: account page text is too large in Twenty Fifteen theme<\\/li>\\n<li>Fix: Renew link improperly shown for free members<\\/li>\\n<li>Fix: Last Week earnings not shown properly when it crosses a month boundary<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.7, August 19, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug that caused expiration dates to be set too far in the future during registration.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.6, August 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with negative signup fees and recurring subscriptions in Stripe<\\/li>\\n<li>Fixed a bug that caused declined card errors to not get caught when updating the billing card<\\/li>\\n<li>Added a confirmation message to the Update Billing Card form<\\/li>\\n<\\/ul>\\n<p>Version 2.2.5, August 6, 2015<\\/p>\\n<ul>\\n<li>Fixed a bug with expiration dates getting set too far ahead for customers that register through Stripe<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.4, August 3, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with expiration dates being calculated incorrectly when calculating for a subscription level that never expires<\\/li>\\n<li>Fixed a bug that caused the Active Subscription email to include the wrong expiration date<\\/li>\\n<li>Fixed a bug that caused the Screen Options tab to not save properly<\\/li>\\n<li>Tweak to ensure the member\'s display name is set during registration<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.3, July 20, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed an issue with fatal errors\\u00a0when updating pages that contain the RCP shortcodes on some websites.<\\/li>\\n<li>Updated New User notification emails to contain the user login names<\\/li>\\n<li>Tweak registration form JS to ensure that clicking Register multiple times doesn\'t cause issues<\\/li>\\n<li>Added member status to the member export<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.2, July 9, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed an issue with calculating member\'s new expiration date when accounts are renewed.<\\/li>\\n<\\/ul>\\n<p>Version 2.2.1, July 8, 2015<\\/p>\\n<ul>\\n<li>Fixed an issue with WooCommerce products not being shown to registered users<\\/li>\\n<\\/ul>\\n<p>Version 2.2, July 6, 2015<\\/p>\\n<ul>\\n<li>Added support for restricting WooCommerce products<\\/li>\\n<li>Added support for 2-factor authentication through Google Authenticator<\\/li>\\n<li>Added members\' payment profile IDs to member export file<\\/li>\\n<li>Added new action hooks to login form template file<\\/li>\\n<li>Fixed issue with members not being logged in automatically during registration<\\/li>\\n<li>Fixed \\\"unexpected output\\\" during activation<\\/li>\\n<\\/ul>\\n<p>Version 2.1.11, June 18, 2015<\\/p>\\n<ul>\\n<li>Fixed a PHP notice during installation<\\/li>\\n<li>Fixed an issue with discount code validation on single registration forms<\\/li>\\n<li>Fixed an issue with discount codes not being re-validated when the level is changed<\\/li>\\n<li>Fixed an issue with one-time Stripe charges getting attributed to the wrong user<\\/li>\\n<li>Fixed an issue with the Help page not redirecting to the documentation site<\\/li>\\n<\\/ul>\\n<p>Version 2.1.10, May 27, 2015<\\/p>\\n<ul>\\n<li>Fixed an issue with signup fees not working in Stripe<\\/li>\\n<li>Added new useremail template tag for emails<\\/li>\\n<\\/ul>\\n<p>Version 2.1.9, May 27, 2015<\\/p>\\n<ul>\\n<li>Fixed an issue with credit\\/debit card form not displaying if the first level is Free<\\/li>\\n<li>Fixed a fatal error in the PayPal Pro gateway that occurred if API credentials had not been entered<\\/li>\\n<li>Tweaked the card number field to have a max length of 20 characters<\\/li>\\n<li>Tweaked the description text\\u00a0in settings<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.8, May 21, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed an error message when updating discounts with Stripe active<\\/li>\\n<li>Fixed an issue with payment settings disappearing when plugin is reactivated<\\/li>\\n<li>Fixed a typo in the settings page<\\/li>\\n<li>Fixed an issue with email notifications not being sent when accounts are cancelled<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.7, May 21, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with reCaptcha over SSL<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.6, May 13, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a fatal error when updating credit \\/ debit cards in Stripe<\\/li>\\n<li>Fixed a bug that caused the \\\"Active\\\" email to be sent to trial subscribers<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.5, May 12, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with expiration dates on Unlimited plans<\\/li>\\n<li>Fixed a bug with the price not showing up on the single register template<\\/li>\\n<li>Fixed a\\u00a0bug with the Stripe libraries not being loaded if another plugin had already loaded it<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.4, May 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug that caused emails to not be sent to free or trial members.<\\/li>\\n<\\/ul>\\n<p>Version 2.1.3, May 9, 2015<\\/p>\\n<ul>\\n<li>Fixed a bug that caused the credit \\/ debit card form to not be displayed when passing the id=\\\"x\\\" parameter to the register form short code.<\\/li>\\n<\\/ul>\\n<p>Version 2.1.2, May 6, 2015<\\/p>\\n<ul>\\n<li>Fixed a bug that caused PayPal Standard subscriptions to not get activated<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.1, May 4, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with editing \\/ creating discount codes when the Stripe gateway is inactive<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1, April 30, 2015<\\/strong><\\/p>\\n<ul>\\n<li><strong>This is a major release. Please see <a href=\\\"https:\\/\\/pippinsplugins.com\\/?p=60420\\\">release post<\\/a> for detailed information.<\\/strong><\\/li>\\n<li>Stripe, PayPal Pro, and PayPal Express now included for free. Braintree integration is also free as an add-on.<\\/li>\\n<li>New payment gateway API for developers to build additional payment processor integrations.<\\/li>\\n<li>New Manual Payment gateway for processing manual payments.<\\/li>\\n<li>Dramatically improved registration form processing.<\\/li>\\n<li>Registration form now submits via ajax and displays error messages without a page \\u00a0reload.<\\/li>\\n<li>Better member cancellation options from member\'s account pages<\\/li>\\n<li>Site admins can now cancel member\'s payment profile from Restrict &gt; Members.<\\/li>\\n<li>Improved and re-organized settings screen.<\\/li>\\n<li>New RCP_Member class for developers.<\\/li>\\n<li>New RCP_Payment_Gateway class for developers.<\\/li>\\n<li>New rcp_user_can_access() function for developers.<\\/li>\\n<li>Numerous other new functions for developers.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.17, April 20, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Minor XSS security fix<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.16, February 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a conflict with The Event Calendar plugin<\\/li>\\n<li>Updated the French translation files<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.15, January 29, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with signup fees in PayPal over 1,000<\\/li>\\n<li>Updated the plugin updater class<\\/li>\\n<li>Fixed a spelling error<\\/li>\\n<li>Modified the shortcodes include file to always be included<\\/li>\\n<li>Fixed an incorrect user ID variable during the process that adds a manual subscription to a user<\\/li>\\n<li>Introduced\\u00a0rcp_before_subscription_form_fields hook<\\/li>\\n<li>Fixed two method declarations in the WP_Logging class<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.14, November 19, \\u00a02014<\\/strong><\\/p>\\n<ul>\\n<li>Added an option to let non-recurring members renew their access from their account page<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.13, October 29, 2014<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug in the updater that caused update checks to run too often.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.12, October 21, 2014<\\/strong><\\/p>\\n<ul>\\n<li>Improved plugin updater class<\\/li>\\n<\\/ul>\\n<p>Version 2.0.11, October 7, 2014<\\/p>\\n<ul>\\n<li>Updated language files<\\/li>\\n<\\/ul>\\n<p>Version 2.0.10, October 1, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with adding subscriptions manually to user accounts<\\/li>\\n<\\/ul>\\n<p>Version 2.0.9, August 27, 2014<\\/p>\\n<ul>\\n<li>Updated the Restrict menu icon to use dashicons<\\/li>\\n<li>Automatically add \\/ remove user roles anytime their subscription level is changed in the admin<\\/li>\\n<li>Default the login redirect to the home page<\\/li>\\n<li>Fixed a few typos<\\/li>\\n<li>Added a fallback\\u00a0cal_days_in_month() function for hosts that don\'t have it enabled<\\/li>\\n<\\/ul>\\n<p>Version 2.0.8, August 14, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug \\u00a0with CSS not loading on the subscription details and profile editor short codes<\\/li>\\n<li>Added an Edit Member button to the View Member details screen<\\/li>\\n<li>Improved the Members page filtering and search<\\/li>\\n<li>Added support for setting the From Name and From Email address in Settings &gt; Emails<\\/li>\\n<li>Cancelled members now actually get marked as Cancelled instead of staying as Active and then getting marked as Expired<\\/li>\\n<li>Linked the admin notice on first install to the Restrict &gt; Settings page<\\/li>\\n<li>Fixed an inaccurate field description in settings<\\/li>\\n<li>Improved the license activation process and fixed a bug that prevented license keys from being activated<\\/li>\\n<\\/ul>\\n<p>Version 2.0.7, June 24, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with the Payment Export not including all payments.<\\/li>\\n<\\/ul>\\n<p>Version 2.0.6, June 19, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with payment method forms showing when signing up for a free\\u00a0subscription level<\\/li>\\n<li>Fixed a bug with the discount field showing when signing up for a free subscription level<\\/li>\\n<li>Fixed a bug with the Auto Renew field showing when signing up for a free subscription level<\\/li>\\n<\\/ul>\\n<p>Version 2.0.5, May 20, 2014<\\/p>\\n<ul>\\n<li>Added an option to control the number of members that are exported with the CSV export<\\/li>\\n<li>Fixed a bug with the auto-renew options not showing on individual registration forms<\\/li>\\n<li>Fixed a bug with pending members getting the Expiring Soon notice<\\/li>\\n<li>Added year\\/month options to the Payment CSV export<\\/li>\\n<li>Added an option to manually toggle a member\'s trialing status<\\/li>\\n<li>Fixed a bug with amounts in the PDF Invoices<\\/li>\\n<\\/ul>\\n<p>Version 2.0.4, May 13, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with the wp_editor() used in the Messages section of settings<\\/li>\\n<li>Fixed a bug with user roles not being set properly on registration<\\/li>\\n<\\/ul>\\n<p>Version 2.0.3, May 13, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with discount codes not getting\\u00a0attached to user accounts<\\/li>\\n<li>Fixed a bug with rcp_get_user_role() when the user isn\'t part of the site<\\/li>\\n<\\/ul>\\n<p>Version 2.0.2, April 21, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with custom registration forms related to the Stripe payment gateway<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.1, April 18, 2014<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug that caused a fatal error with wp_get_current_user() during certain actions<\\/li>\\n<li>Fixed a bug with the login form redirect on the subscription_details short code<\\/li>\\n<\\/ul>\\n<p><strong>Version<\\/strong> 2.0, April 11, 2014<\\/p>\\n<ul>\\n<li>Added support for PDF Invoices of subscription payments<\\/li>\\n<li>Greatly improved the member\'s subscription details area<\\/li>\\n<li>Added support for custom registration pages with the [register_form id=\\\"x\\\"] short code<\\/li>\\n<li>Added improved caching \\/ performance throughout the plugin, primarily related to subscription level and payment queries<\\/li>\\n<li>Added support for restricting posts based on the category they are filed in<\\/li>\\n<li>Added integration for the Limit Login Attempts plugin<\\/li>\\n<li>Added custom capabilities for all admin pages<\\/li>\\n<li>Added a new setting for PayPal Page Style<\\/li>\\n<li>Added an option to control whether all subscriptions auto renew or not<\\/li>\\n<li>Added new rcp_edit_member hook<\\/li>\\n<li>Added new RCP profile editor hooks<\\/li>\\n<li>Added options to disable each of the emails individually<\\/li>\\n<li>Tweak: improve the way the login form shows when a user is logged in<\\/li>\\n<li>Tweak: properly set the exact time when creating a manual payment<\\/li>\\n<li>Tweak: improve issue with members expiring on the wrong day when signing up on the last day of the month<\\/li>\\n<li>Tweak: always show the registration levels on the registration page<\\/li>\\n<li>Tweak: improved expiration cron jobs<\\/li>\\n<\\/ul>\\n<p>Version 1.9.6, February 5, 2014<br \\/>\\nAdded better support for 100% discount codes and non-PayPal payment gateways.<\\/p>\\n<p>Added better caching to the subscription level database class.<br \\/>\\nVersion 1.9.5, January 21, 2014<\\/p>\\n<ul>\\n<li>Improved validation of the user information when saving the profile form.<\\/li>\\n<li>Fixed a bug that would allow a user to update their email to that of another user.<\\/li>\\n<li>Fixed a bug that would allow a user to completely remove their email.<\\/li>\\n<\\/ul>\\n<p>Version 1.9.4, December 23, 2013<\\/p>\\n<ul>\\n<li>Fixed a bug with the user role not saving when first creating a subscription level<\\/li>\\n<li>Improved the UI of the Cancel buttons in admin headers<\\/li>\\n<li>Added a JS action for rcp_discount_applied<\\/li>\\n<li>Added .rcp_gateway_fields class<\\/li>\\n<\\/ul>\\n<p>Version 1.9.3 - December 9, 2013<\\/p>\\n<ul>\\n<li>Improve reliability of license activation and deactivation<\\/li>\\n<li>Only setup user transients if single-login is enabled<\\/li>\\n<li>Fix bug with Last Month report view when current month is December<\\/li>\\n<li>Rewrite PayPal redirect to make all args filterable<\\/li>\\n<li>Removed erroneous ID attribute<\\/li>\\n<li>Better filters for email messages and receipients<\\/li>\\n<li>Better organization of user level checks<\\/li>\\n<li>Add support for setting the user role on a per-subscription basis<\\/li>\\n<li>Fixed bug with updating subscription levels when no changes were made<\\/li>\\n<li>Improved the expired users cron job<\\/li>\\n<\\/ul>\\n<p>Version 1.9.2 - October 25, 2013<\\/p>\\n<ul>\\n<li>Fixed a bug with payment amounts over 1000<\\/li>\\n<\\/ul>\\n<p>Version 1.9.1 - October 21, 2013<\\/p>\\n<ul>\\n<li>Fixed an undefined index error on the subscription Add New screen.<\\/li>\\n<li>Fixed a bug with the subscription level order getting overwritten when updating a level.<\\/li>\\n<\\/ul>\\n<p>Version 1.9 - October 4, 2013<\\/p>\\n<ul>\\n<li>Added support for signup fees and discounts for subscription levels.<\\/li>\\n<li>Added the ability to search payments.<\\/li>\\n<li>Added payment transaction ID tracking.<\\/li>\\n<\\/ul>\\n<p>Version 1.8.1<\\/p>\\n<ul>\\n<li>Fixed a bug with subscription level duration units not saving correctly.<\\/li>\\n<\\/ul>\\n<p>Version 1.8<\\/p>\\n<ul>\\n<li>Added a brand new Reports page with earnings and signup graphs.<\\/li>\\n<\\/ul>\\n<p>Version 1.7<\\/p>\\n<ul>\\n<li>Added support for manually creating payments.<\\/li>\\n<li>Fixed a bug with \'class\' and other attributes getting stripped from Subscription Level descriptions.<\\/li>\\n<\\/ul>\\n<p>Version 1.6.3<\\/p>\\n<ul>\\n<li>Fixed a bug with the Expiring Soon emails getting sent to recurring subscribers.<\\/li>\\n<\\/ul>\\n<p>Version 1.6.2<\\/p>\\n<ul>\\n<li>Fixed a problem with the discount table creation.<\\/li>\\n<\\/ul>\\n<p>Version 1.6.1<\\/p>\\n<ul>\\n<li>Fixed a problem with the [restrict] short code.<\\/li>\\n<\\/ul>\\n<p>Version 1.6<\\/p>\\n<ul>\\n<li>Added the ability to restrict discount codes to specific subscription levels<\\/li>\\n<li>Added a \\\"Remember Me\\\" checkbox to the login form<\\/li>\\n<li>Added new options to the \\\"Restrict This Content\\\" meta box that allows content to be restricted to multiple subscription levels<\\/li>\\n<li>Non-recurring subscribers can now renew their membership at any time<\\/li>\\n<li>Added new Renewal Notice reminders that can be automatically sent before a user expires.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.7<\\/p>\\n<ul>\\n<li>Fixed a problem with not being able to set subscription durations to higher than 127 days\\/months\\/years.<\\/li>\\n<li>Added Hebrew translation files<\\/li>\\n<\\/ul>\\n<p>Version 1.5.6<\\/p>\\n<ul>\\n<li>Added a new, better plugin updater system. <strong>You MUST enter your license key in the plugin settings to get future updates.<\\/strong><\\/li>\\n<li>Improved the expiration \\/ renewal date text on the Subscription Details short code.<\\/li>\\n<li>Renamed the Payments settings tab to General.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.5<\\/p>\\n<ul>\\n<li>Improved RTL compatibility.<\\/li>\\n<li>Fixed an issue with LI and UL tags getting stripped from subscription level descriptions.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.4<\\/p>\\n<ul>\\n<li>Fixed another issue with UTF8 encoding\\/decoding.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.3<\\/p>\\n<ul>\\n<li>Fixed an issue with UTF8 encoding\\/decoding.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.2<\\/p>\\n<ul>\\n<li>Updated manual update_user_meta() calls for member status to use rcp_set_status()<\\/li>\\n<li>Fixed an additional issue with PayPal payments not getting recorded.<\\/li>\\n<\\/ul>\\n<p>Version .1.5.1<\\/p>\\n<ul>\\n<li>Fixed and issue with PayPal payments not getting recorded.<\\/li>\\n<\\/ul>\\n<p>Version 1.5<\\/p>\\n<ul>\\n<li>New: Trial memberships can now upgrade to paid memberships at any time.<\\/li>\\n<li>New: Site admins can view all pad content.<\\/li>\\n<li>New: Usernames in Restrict &gt; Members are now linked to the user\\\\\'s profile.<\\/li>\\n<li>New: Members can now be searched from Restrict &gt; Members.<\\/li>\\n<li>New: Added a new [rcp_profile_editor] short code.<\\/li>\\n<li>New: Registration, login, change password, and profile editor forms now included template files that can be easily, and safely modified.<\\/li>\\n<li>New: Added an option to delete payments.<\\/li>\\n<li>New: Added an option to view all payments by user.<\\/li>\\n<li>New: Added member first names to user export.<\\/li>\\n<li>New: Rewrote export system to be more flexible and extensible.<\\/li>\\n<li>New: Wrote new database interaction classes to make it easier for extensions to record \\/ modify data.<\\/li>\\n<li>New: Added an option to revent account sharing.<\\/li>\\n<li>New: Added new action hooks.<\\/li>\\n<li>Fix: email field on registration wasn\\\\\'t given a .valid or .error class.<\\/li>\\n<li>Fix: Admin javascript alerts are now localized for translation.<\\/li>\\n<li>Fix: Expiration date could not be left blank.<\\/li>\\n<li>Fix: User expiration dates were not localized.<\\/li>\\n<li>Fix: reCaptcha caused a fatal error if not configured correctly.<\\/li>\\n<li>Fix: stripslashes on subscription level names.<\\/li>\\n<li>Fix: The Upgrade link in [subscription_details] was shown even when only one free subscription level was active.<\\/li>\\n<li>Tweaked: Improved the registration processing function.<\\/li>\\n<li>Tweaked: Improved the default CSS.<\\/li>\\n<\\/ul>\\n<p>Version 1.4.4.2<\\/p>\\n<ul>\\n<li>Added new email tags for %firstname%, %lastname%, and %displayname%.<\\/li>\\n<li>Fixed a bug with the %username% email tag.<\\/li>\\n<\\/ul>\\n<p>Version 1.4.4.1<\\/p>\\n<ul>\\n<li>Fixed a missing parameter error with rcp_count_members()<\\/li>\\n<\\/ul>\\n<p>Version 1.4.4<\\/p>\\n<ul>\\n<li>Introduced new Logs page to view gateway error logs<\\/li>\\n<li>Fixed an error in the PayPal gateway that caused members to not renew correctly<\\/li>\\n<\\/ul>\\n<p>Version 1.4.3<\\/p>\\n<ul>\\n<li>Added new %amount% tag to the email templates<\\/li>\\n<li>Fixed a bug with teh PayPal cancellation link<\\/li>\\n<li>Fixed the subject line of the free email<\\/li>\\n<li>Fixed the %blogname% email template tag<\\/li>\\n<li>Improved file structure and organization<\\/li>\\n<li>Improved code documentation<\\/li>\\n<\\/ul>\\n<p>Version 1.4.2<\\/p>\\n<ul>\\n<li>Fixed a security vulnerability with the function that writes to the database<\\/li>\\n<li>Fixed a bug with setting discount codes to percentage type<\\/li>\\n<li>Fixed a JS bug on the registration form for showing \\/ hiding auto renew and the discount<\\/li>\\n<\\/ul>\\n<p>Version 1.4.1<\\/p>\\n<ul>\\n<li>Forced auto-renew to false when signing up for a forever plan<\\/li>\\n<li>Fixed a bug with wpdb-&gt;prepare()<\\/li>\\n<\\/ul>\\n<p>Version 1.4<\\/p>\\n<ul>\\n<li>Renamed Redirect page to Success page<\\/li>\\n<li>Added new rcp_is_paid_content filter<\\/li>\\n<li>Added a new logging system for tracking payment gateway errors<\\/li>\\n<li>Fixed issues with $wpdb-&gt;prepare() notices<\\/li>\\n<li>Made \\\"View Details\\\" always visible on the Users page<\\/li>\\n<li>Improved data sanitization<\\/li>\\n<li>Added a new notice when a user is updated<\\/li>\\n<li>Added new feature for \\\"User Notes\\\"<\\/li>\\n<li>Improved default CSS<\\/li>\\n<li>Added Arabic language files<\\/li>\\n<li>Added Portuguese language files<\\/li>\\n<li>Added new rcp_redirect_from_wp_login() function<\\/li>\\n<li>Removed user-registration-enabled check for the registration form<\\/li>\\n<\\/ul>\\n<p>Version 1.3.3<\\/p>\\n<ul>\\n<li>Updated default language files.<\\/li>\\n<li>Fixed some missing text domains.<\\/li>\\n<li>Fixed a double slash in script URLs.<\\/li>\\n<li>Improved the function that checks to see if a payment has been recorded yet.<\\/li>\\n<li>Added a function to ensure RCP can be network activated.<\\/li>\\n<li>Fixed problem with HTML in subscription level descriptions.<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2.3<\\/p>\\n<ul>\\n<li>Added new rcp_pre_edit_discount action<\\/li>\\n<li>Improved data sanitization for discount codes<\\/li>\\n<li>Added new rcp_pre_add_discount hook<\\/li>\\n<li>Added Spanish translation files<\\/li>\\n<li>Added new rcp_show_subscription_level() function for determing if a level should be shown on the signup form<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2.2<\\/p>\\n<ul>\\n<li>Fixed a bug with a white screen after free signups<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2.1<\\/p>\\n<ul>\\n<li>Fixed a small bug with subscription lengths<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2<\\/p>\\n<ul>\\n<li>Moved reCaptcha to a new rcp_show_captcha() function so it can be more easily modified<\\/li>\\n<li>Added new \\\"rcp_return_url\\\" filter so that the URL users are returned to can be more easily modified<\\/li>\\n<li>Fixed several potential security flaws<\\/li>\\n<li>Improved data validation and sanitization throughout the plugin<\\/li>\\n<li>Improved internationalization of date formats<\\/li>\\n<li>Fixed a problem with restricting to free users and access levels at the same time<\\/li>\\n<li>Added do_shortcode() to teaser messages so that they render short codes<\\/li>\\n<li>Improved documentation and help text throughout the plugin<\\/li>\\n<li>Added new \\\"rcp_access_levels\\\" filter for modifying the available access levels<\\/li>\\n<li>Fixed some broken images in the Help page<\\/li>\\n<li>Updated French language files<\\/li>\\n<li>Fixed a problem with calculating users first expiration date that caused members to expire before their renewing payment was made<\\/li>\\n<li>Added new \\\"rcp_errors_before\\\" and \\\"rcp_errors_after\\\" for adding content before\\/after error messages are displayed<\\/li>\\n<li>Improved the functions that calculate a discounted price<\\/li>\\n<li>Added a new function for storing discount codes in user\\\\\'s meta<\\/li>\\n<li>Added new registration-functions.php and performed significant code cleanup<\\/li>\\n<li>Added a new filter \\\"rcp_default_user_level\\\" for the default user role given to members on signup<\\/li>\\n<\\/ul>\\n<p>Version 1.3.1.1<\\/p>\\n<ul>\\n<li>Fixed a problem with allow furl_open<\\/li>\\n<\\/ul>\\n<p>Version 1.3.1<\\/p>\\n<ul>\\n<li>Fixed a bug with the auto updater<\\/li>\\n<li>Replaced a global with a constant<\\/li>\\n<li>Fixed a bug with expired users cron jobs<\\/li>\\n<\\/ul>\\n<p>Version 1.3<\\/p>\\n<ul>\\n<li>Documentated conflict with object caching<\\/li>\\n<li>Improved the email setting labels<\\/li>\\n<li>Hid the payment gateway checkboxes unless more than one gateway is available<\\/li>\\n<li>Added new rcp_get_currencies() function that can be filtered to allow more currencies<\\/li>\\n<li>Dramatically improved the rcp_curreny_filter() function with filters for other plugins to use to customize currency display<\\/li>\\n<li>Added new meta key for storing the PayPal recurring payment ID<\\/li>\\n<li>Improved security checks in IPN listener<\\/li>\\n<li>Fixed incorrect email address in IPN email log<\\/li>\\n<li>Added an option to disable IPN verification from PayPal<\\/li>\\n<li>Fixed the code prettifier in the help page<\\/li>\\n<li>Fixed a problem with the expired users cron job and users with no expiration date<\\/li>\\n<li>Fixed a bug with subscription level IDs in the registration form<\\/li>\\n<li>Fixed incorrect variable in rcp_set_status<\\/li>\\n<li>Added unique ID to each subscription level in the registration form<\\/li>\\n<li>Made default user level filterable<\\/li>\\n<li>Rewrote the settings page to follow the WP core UI<\\/li>\\n<li>Fixed a problem with the update notifier<\\/li>\\n<li>Improved the Paid Only option label to make it more clear<\\/li>\\n<li>Added a new filter to the meta box fields array to allow extra fields to be added<\\/li>\\n<li>Improved front end JS<\\/li>\\n<li>Added new filter to the rcp_excerpt_by_id() function<\\/li>\\n<li>Added Polish language files<\\/li>\\n<li>DIscount code input now gets hidden when a free subscription level is selected<\\/li>\\n<li>Added improved number formatting<\\/li>\\n<li>Improved rcp_get_members()<\\/li>\\n<li>Replaced custom SQL query with rcp_get_subscription_levels()<\\/li>\\n<li>Fixed problems with sorting users by subscription level<\\/li>\\n<\\/ul>\\n<p>Version 1.2.4<\\/p>\\n<ul>\\n<li>Added an ID to the discount codes P tag on the registration form<\\/li>\\n<li>Fixed a security flaw in the signup process that created a way for users to get access to premium content for free<\\/li>\\n<li>Registration fields now retain their information on submission error<\\/li>\\n<li>Fixed a missing argument in rcp_log_user_in()<\\/li>\\n<li>Fixed a problem with the function that calculates the discounted price<\\/li>\\n<li>Made discounts active by default<\\/li>\\n<li>Added some additional hooks to PayPal gateway<\\/li>\\n<li>Added an option to cancel subscription from the [subscription_details] shortcode for new signups<\\/li>\\n<li>Minor improvements to the PayPal gateway<\\/li>\\n<\\/ul>\\n<p>Version 1.2.3<\\/p>\\n<ul>\\n<li>Made some improvements to the PayPal verification to help prevent verification failures<\\/li>\\n<li>Updated default language files<\\/li>\\n<li>Fixed a problem with the JS that hides the auto renew option when a free subscription is selected<\\/li>\\n<li>Added new option to disable admin notifications<\\/li>\\n<li>Added an option to export free users<\\/li>\\n<li>Fixed the level query arg for auto plan selection<\\/li>\\n<\\/ul>\\n<p>Version 1.2.2<\\/p>\\n<ul>\\n<li>Fixed a bug with the user expiration cron job that sends out expiration notices<\\/li>\\n<\\/ul>\\n<p>Version 1.2.1<\\/p>\\n<ul>\\n<li>Fixed a couple of minor bugs with the user page columns<\\/li>\\n<li>Changed \\\"Free\\\" to 0 in the rcp_currency_filter() function<\\/li>\\n<li>Removed the IPN error log option<\\/li>\\n<li>Added tax=0 to the PayPal redirect<\\/li>\\n<li>Updated the login form to auto redirect to the current page<\\/li>\\n<li>Added JS to hide the auto renew option when a free subscription is selected<\\/li>\\n<li>Improved markup of the subscription details short code<\\/li>\\n<li>Added support for the Turkish Lira currency<\\/li>\\n<li>Moved load_plugin_textdomain() to an init hooked function<\\/li>\\n<li>Added action hooks and filters to the PayPal listener<\\/li>\\n<\\/ul>\\n<p>Version 1.2.0<\\/p>\\n<ul>\\n<li>Fixed a bug that caused bad encoding of apostrophes in the email \\\"From\\\" name.<\\/li>\\n<li>Fixed a bug that prevented admins from manually adding subscriptions to users.<\\/li>\\n<li>A few minor code improvements.<\\/li>\\n<li>Improved file organization.<\\/li>\\n<li>Updated language files.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.9<\\/p>\\n<ul>\\n<li>Updated the default language files to include new strings for translation.<\\/li>\\n<li>Added do_action() hooks to the add\\/edit subscription level functions.<\\/li>\\n<li>Improved the payment gateway system.<\\/li>\\n<li>Added ajaxed live search to the \\\"Add New Subscription\\\" form.<\\/li>\\n<li>Fixed a bug with the PayPal Sandbox mode<\\/li>\\n<\\/ul>\\n<p>Version 1.1.8<\\/p>\\n<ul>\\n<li>Fixed a bug that caused non-active members to have an expiration date of 1970 in the [subscription_details] shortcode.<\\/li>\\n<li>Improved the registration form CSS slightly.<\\/li>\\n<li>Added a new advanced query arg that can be used on the Members page in the admin for displaying all members that signed up live vs. those that were added by admins.<\\/li>\\n<li>Added missed jQuery UI theme images for the datepicker.<\\/li>\\n<li>Fixed the double message problem with admin alert emails.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.7.2<\\/p>\\n<ul>\\n<li>Fixed a formatting bug with the discounts table when no codes have been created yet.<\\/li>\\n<li>Fixed a formatting bug with the subscriptions levels table when no levels have been created yet.<\\/li>\\n<li>Fixed the data type of the payment\\\\\'s table \\\"amount\\\" column.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.7.1<\\/p>\\n<ul>\\n<li>Fixed a bug that caused the cron job added in the previous version to run constantly.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.7<\\/p>\\n<ul>\\n<li>Added a cron job that checks for expired users every day and sends an email to the user when they have expired.<\\/li>\\n<li>Fixed a bug were subscription access levels were reset to 0 when editing.<\\/li>\\n<li>Fixed a few issues with utf8 encoding.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.6<\\/p>\\n<ul>\\n<li>Added a meta box option for restricting content based upon the subscription level.<\\/li>\\n<li>Added a \\\"subscription=ID\\\" parameter to the [restrict] short code for limiting content to specific subscription levels.<\\/li>\\n<li>Updated Help page with information about access levels and restricting to subscription levels.<\\/li>\\n<li>Improved some admin CSS and jQuery loading.<\\/li>\\n<li>Improved the layout of the \\\"Restrict this Content\\\" metabox so that it can now be placed in the side column.<\\/li>\\n<li>Added new demonstration videos to the Help page on how to restrict content.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.5<\\/p>\\n<ul>\\n<li>Moved the \\\"members per page\\\" and \\\"payments per page\\\" to the screen options tab.<\\/li>\\n<li>Added FAQs to the Help page.<\\/li>\\n<li>Added a div.rcp-payment-history around the user\\\\\'s payment history.<\\/li>\\n<li>Added missing class attribute to \\\"no payments recorded\\\" message in the [subscription_details] shortcode.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.4<\\/p>\\n<ul>\\n<li>Added support for access level restriction on free content.<\\/li>\\n<li>Added do_shortcode() to the [is_not_paid] short code.<\\/li>\\n<li>Made the first subscription level checked by default on the registration page.<\\/li>\\n<li>Added missing HTML element classes to the registration form.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.3<\\/p>\\n<ul>\\n<li>Released the Math Verification add-on: http:\\/\\/codecanyon.net\\/item\\/restrict-content-pro-math-verification\\/1876095<\\/li>\\n<li>Fixed an undefined variable bug in the front end JS.<\\/li>\\n<li>Added option to redirect default WP login URL to custom page.<\\/li>\\n<li>Added and in-dashboard plugin updater so that new releases can be updated to automatically from Wordpress.<\\/li>\\n<li>Fixed a bug with the \\\"Hide Premium Posts\\\" option.<\\/li>\\n<\\/ul>\\n\"},\"banners\":{\"high\":\"\",\"low\":\"\"},\"icons\":\"a:0:{}\",\"description\":[\"\"],\"changelog\":[\"<p><strong>Version 3.2.3, October 7, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified templates: subscription.php<\\/li>\\n<li>New: Added the ability to recover pending and failed payments. A \\\"Complete Payment\\\" link has been added to the list of payments on the\\u00a0[subscription_details]\\u00a0shortcode.<\\/li>\\n<li>Tweak: Added terms\\/privacy checkboxes to\\u00a0[register_form_stripe]\\u00a0shortcode if enabled. This also fixed an issue where the shortcode was validating for these checkboxes but not displaying them.<\\/li>\\n<li>Tweak: CSV Importer: improve CSV mime type detection.<\\/li>\\n<li>Tweak: CSV Importer: if incorrect file type is detected, include the detected file type in the error message.<\\/li>\\n<li>Tweak: Localize Stripe error messages that occur via JavaScript. Also add a new filter\\u00a0rcp_stripe_error_messages\\u00a0to allow these error messages to be modified.<\\/li>\\n<li>Tweak: Include original Stripe error message if we don\'t have our own localized version.<\\/li>\\n<li>Tweak: Show admin notice if manual membership cancellation fails.<\\/li>\\n<li>Fix: Sign up fees not being applied if someone attempts a payment, doesn\'t complete it, then tries a second time. This typically only occurred with the PayPal gateway, which allows you to not complete a payment in progress.<\\/li>\\n<li>Fix:\\u00a0Heuristics.Phishing.Email.SpoofedDomain\\u00a0false positive from virus scanners, due to us making a link to\\u00a0developer.paypal.com, which actually led to our documentation on how to use that site to get API credentials.<\\/li>\\n<li>Fix: Add missing try\\/catch block during certain Stripe operations.<\\/li>\\n<li>Fix: Correct formatting on\\u00a0sprintf()\\u00a0functions.<\\/li>\\n<li>Fix: Undefined property errors while updating pending payments via cron job.<\\/li>\\n<li>Fix: Under certain circumstances, RCP was incorrectly creating a second Stripe customer record.<\\/li>\\n<li>Fix: Stripe webhook conflicts when RCP is installed on two separate sites but both use the same Stripe account.<\\/li>\\n<li>Fix: Remove\\u00a0admin_url()\\u00a0base from\\u00a0rcp_get_invoice_url()\\u00a0function. In certain edge cases this was resulting in\\u00a0admin_url()\\u00a0being included in email notifications.<\\/li>\\n<li>Fix: Update WP_User display name when editing Customer first\\/last name via Customer Details page.<\\/li>\\n<li>Fix: Email verification link not working when using plain text emails.<\\/li>\\n<li>Fix: CSV Importer - use email as the username if username is omitted from the CSV file.<\\/li>\\n<li>Fix: Recurring fees not being properly passed to payment gateway during registration.<\\/li>\\n<li>Fix: Do not apply prorated credits when multiple memberships are enabled and registering via\\u00a0[register_form_stripe].<\\/li>\\n<li>Fix: \\\"Renews automatically\\\" incorrectly displaying on\\u00a0[subscription_details]\\u00a0shortcode for inactive memberships.<\\/li>\\n<li>Fix:\\u00a0rcp_get_user_payments()\\u00a0was returning all user payments if the current user was logged out. It now returns an empty array.<\\/li>\\n<li>Fix: Display issues on admin payments table on mobile devices.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.2, September 17, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Updated French translation.<\\/li>\\n<li>Improvement: Display clearer error messages when there\'s a problem adding a discount code.<\\/li>\\n<li>Fix: Registration type changing mid-registration, which could impact signup fees with some gateways.<\\/li>\\n<li>Fix: Stripe invalid request error when someone with a non-recurring Stripe membership visits the page containing the\\u00a0[rcp_update_card]\\u00a0shortcode.<\\/li>\\n<li>Fix: Incorrect use of\\u00a0date_i18n()\\u00a0instead of\\u00a0date()\\u00a0when saving payment dates via webhooks.<\\/li>\\n<li>Fix: Filter the password reset URL to use the designated RCP login form when \\\"Redirect Default Login URL\\\" is enabled.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.1, September 12, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Incorrect Stripe subscription start date if a member manually renews a membership prior to expiration and the initial payment hasn\'t yet been fully captured at the time the subscription is created.<\\/li>\\n<li>Fix: Unable to process free membership if Stripe is the selected payment gateway.<\\/li>\\n<li>Fix: Registration errors when a customer has a membership for a level that has been deleted.<\\/li>\\n<li>Fix: Missing\\u00a0rcp_stripe_signup_payment_failed\\u00a0action when initial Stripe payment fails.<\\/li>\\n<li>Tweak: Update\\u00a0rcp_is_trialing()\\u00a0function to remove use of deprecated class.<\\/li>\\n<li>Tweak: Include RCP upgrade date and \\\"upgraded from\\\" version in system info report.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2, September 10, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Important: Stripe Checkout gateway has been removed. If you\\u2019re using it, you will automatically be changed over to our normal Stripe gateway, which uses Stripe Elements. The [register_form_stripe] shortcode still functions, but it may look different.<\\/li>\\n<li>New: Updated the Stripe gateway to use Payment Intents API. This complies with SCA regulations.<\\/li>\\n<li>New: Stripe card declined notices now appear inline and no longer require a page refresh.<\\/li>\\n<li>New: Added\\u00a0%update_billing_card_url%\\u00a0template tag, which serves as a direct link to the \\u201cupdate billing card\\u201d page for the membership associated with the user\\u2019s most recent payment. Recommended for use in the Renewal Payment Failed email.<\\/li>\\n<li>Tweak: Changes to registration form JavaScript. Initial membership processing is now handled via ajax. Testing is recommended if you have custom code that interacts with the registration JavaScript.<\\/li>\\n<li>Tweak: The first payment in a Stripe subscription is now always a one-time charge. The subscription is created with a delayed start date (until the next billing cycle).<\\/li>\\n<li>Tweak: Stripe gateway no longer uses Stripe Coupon codes. Instead, new plans are created for each duration\\/amount combination.<\\/li>\\n<li>Tweak: Stripe gateway no longer handles signup fees via customer account balance. They are incorporated into an initial one-time charge that handles the first payment.<\\/li>\\n<li>Tweak: The\\u00a0rcp_stripe_charge_create_args\\u00a0filter is now deprecated and replaced with\\u00a0rcp_stripe_create_payment_intent_args. This is due to replacing the Charges API with the Payment Intents API. Some arguments may now differ.<\\/li>\\n<li>Tweak: Stripe error messages are now able to be translated.<\\/li>\\n<li>Fix: Stripe gateway doesn\\u2019t use the \\u201crecurring_price\\u201d that\\u2019s passed into the gateway class.<\\/li>\\n<li>Fix: Stripe incorrectly applying one-time discounts after a free trial.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1.2, August 22, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: An admin notice will be displayed if you have the Stripe Checkout gateway enabled, explaining that the gateway will be removed in RCP version 3.2 due to SCA regulations. Read more here:\\u00a0<a href=\\\"https:\\/\\/docs.restrictcontentpro.com\\/article\\/1552-stripe-checkout\\\" rel=\\\"nofollow\\\">https:\\/\\/docs.restrictcontentpro.com\\/article\\/1552-stripe-checkout<\\/a><\\/li>\\n<li>New: Added a\\u00a0date_completed\\u00a0column to the\\u00a0wp_rcp_queue\\u00a0table.<\\/li>\\n<li>New: Unauthorized users are now redirected away from category archive pages if the category is restricted. (Requires that Hide Restricted Posts be checked on.)<\\/li>\\n<li>New: Allow filtering by both level and status on Restrict &gt; Memberships page. Note: you must choose a status filter first, then you can change the membership level.<\\/li>\\n<li>New: Add support for a\\u00a0redirect\\u00a0query arg when generating a\\u00a0resend_verification\\u00a0link.<\\/li>\\n<li>New: Add \\\"Status\\\" dropdown to the \\\"add payment\\\" form on the admin Membership Details page.<\\/li>\\n<li>Tweak: Moved\\u00a0_rcp_reminder_sent_*\\u00a0user meta to membership meta.<\\/li>\\n<li>Tweak: Adjust Redirect Default Login URL setting description to convey that the\\u00a0[login_form]\\u00a0shortcode is required on the page and not optional.<\\/li>\\n<li>Fix: Free trial incorrectly granted again under certain circumstances.<\\/li>\\n<li>Fix: If a customer signs up for a one-time payment membership and does not complete payment, they are unable to try again. (Usually only seen with the PayPal payment gateway.)<\\/li>\\n<li>Fix: CSV import not setting correct password for new users.<\\/li>\\n<li>Fix: CSV import missing old\\u00a0rcp_user_import_user_added\\u00a0action hook.<\\/li>\\n<li>Fix: Incorrect ajax parameter used for error message when uploading a CSV import file fails.<\\/li>\\n<li>Fix: Don\'t show an error message on\\u00a0[rcp_update_card]\\u00a0shortcode if the current user does not have a membership at all.<\\/li>\\n<li>Fix: Ensure that\\u00a0free\\u00a0membership status is always converted to\\u00a0active\\u00a0(backwards compatibility with pre-3.0).<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1.1, July 31, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Add message to\\u00a0[rcp_update_card]\\u00a0shortcode when a user is unable to update their card details.<\\/li>\\n<li>New: Add action\\u00a0rcp_edit_customer_after_memberships_section\\u00a0to Customer Details page, allowing third party plugins to add a whole new customer section.<\\/li>\\n<li>New: On Customer Details page, display whether or not the customer has trialled before.<\\/li>\\n<li>Tweak: Add a space between the Norwegian Krone currency symbol and the price (previous:\\u00a010kr\\u00a0new:\\u00a010 kr).<\\/li>\\n<li>Tweak: Removed the 2-day grace period on the expiration cron job. Use this custom code if you want to add it back in:\\u00a0<a href=\\\"https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-add-expiration-grace-period.php\\\">https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-add-expiration-grace-period.php<\\/a><\\/li>\\n<li>Tweak: Include RCP payment ID in Stripe one-time charge metadata.<\\/li>\\n<li>Fix: Generate a new subscription key on renewals if existing one is blank. This fixes a problem with renewals not activating via PayPal if the existing membership didn\'t have a subscription key (which might be the case if the membership was imported).<\\/li>\\n<li>Fix: EDD Downloads not showing excerpts to users without access if excerpts are globally enabled.<\\/li>\\n<li>Fix: Under certain circumstances, deactivated membership levels can be renewed when they shouldn\'t be able to. If you want to allow deactivated levels to be renewed, use the\\u00a0rcp_can_renew_deactivated_membership_levels\\u00a0filter. Example:\\u00a0<a href=\\\"https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-renew-deactivated-levels.php\\\">https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-renew-deactivated-levels.php<\\/a><\\/li>\\n<li>Fix: Expiration emails being sent when creating a new membership with the \\\"expired\\\" status.<\\/li>\\n<li>Fix: reCAPTCHA errors when using [register_form_stripe].<\\/li>\\n<li>Fix: Registration not working in Internet Explorer due to JavaScript\\u00a0assign()\\u00a0error.<\\/li>\\n<li>Fix: Stop using\\u00a0date_i18n()\\u00a0in database datetime validation.<\\/li>\\n<li>Fix: Pending payment ID can be incorrect if someone attempts a payment multiple times for the same membership.<\\/li>\\n<li>Fix: 3.0 migration - check for and show clear error if the user being migrated doesn\'t exist (due to orphaned user meta).<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1, July 17, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: card-update-form.php, paypal-express-confirm.php, register-single.php, register.php, subscription.php.<\\/li>\\n<li>New: Add support for multiple active memberships per customer.<\\/li>\\n<li>New (WARNING): Authorize.net has been removed from core and moved to a separate add-on. The new add-on can be installed here: <a href=\\\"https:\\/\\/wordpress.org\\/plugins\\/rcp-authorize-net\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">https:\\/\\/wordpress.org\\/plugins\\/rcp-authorize-net\\/<\\/a><\\/li>\\n<li>New: One-time discounts can now be configured on a per-discount basis rather than globally.<\\/li>\\n<li>New: Stripe gateway has been updated to use Stripe Elements.<\\/li>\\n<li>New: CSV user import tool now available in Restrict &gt; Tools &gt; Import.<\\/li>\\n<li>New: Added WP-CLI integration.<\\/li>\\n<li>New: Expiration and renewal notices can now be limited to certain membership levels only.<\\/li>\\n<li>New: Added support for bulk adding memberships to existing users from the Users table.<\\/li>\\n<li>New: Added \\\"payment received\\\" email template for admins.<\\/li>\\n<li>New: Use WP_List_Table for all admin table pages.<\\/li>\\n<li>New: Add default email template content on new installs.<\\/li>\\n<li>New: Log all payment events in the customer notes.<\\/li>\\n<li>New: Send customer name in Stripe API request.<\\/li>\\n<li>New: Add payment meta and membership level meta functions.<\\/li>\\n<li>New: Signup fees are no longer applied when manually renewing an existing membership.<\\/li>\\n<li>New: Stripe gateway tested with API version\\u00a02019-05-16.<\\/li>\\n<li>Tweak: Stop unchecking \\\"auto renew\\\" when a membership expires.<\\/li>\\n<li>Tweak: All translation files have been updated from plugin source code.<\\/li>\\n<li>Tweak: Updated plugin author name and URL.<\\/li>\\n<li>Fix: RCP datepicker styles affecting other plugin datepickers.<\\/li>\\n<li>Fix: Reduce the three RCP membership columns on the Users table to one single \\\"Membership\\\" column. This reduces database queries and improves loading time on this page.<\\/li>\\n<li>Fix: Payments are now only recorded via webhooks\\/IPNs if we can match the payment to a very specific RCP membership. This resolves issues if the same PayPal account is used for multiple different products and one customer is involved in both products.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.10, June 20, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: change-password.php, invoice.php.<\\/li>\\n<li>Fix: Pending memberships no longer expire when passing their expiration date; they just remain pending.<\\/li>\\n<li>Fix: Discount codes not being forced to all lowercase when being edited.<\\/li>\\n<li>Fix: Trial memberships not being considered \\\"paid\\\" when restricting content.<\\/li>\\n<li>Fix: $membership parameter missing from expired email filters.<\\/li>\\n<li>Fix: Stop using Stripe idempotency keys on discount code API requests.<\\/li>\\n<li>Fix: Imported memberships being incorrectly disabled after a renewal payment failure.<\\/li>\\n<li>Fix: Incorrect calculation in RCP_Registration::get_total() when combining both fees and credits.<\\/li>\\n<li>Fix: Admin notices not displaying after using bulk action in membership\\/customers table.<\\/li>\\n<li>Fix: Invoices not supporting RTL.<\\/li>\\n<li>Fix: Proration credit incorrectly given when upgrading \\/ downgrading while still in the middle of a free trial.<\\/li>\\n<li>Fix: Hide \\\"New Password\\\" fields on password reset page when the reset link is invalid.<\\/li>\\n<li>Fix: Memberships table \\\"Cancel\\\" action fails due to invalid nonce.<\\/li>\\n<li>Fix: Stripe error when recreating customers that had previously been deleted earlier that day.<\\/li>\\n<li>Fix: When a discount code is used that has been restricted to certain membership levels, the membership levels restriction becomes invalidated.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.9, May 20, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Security Fix: Harden permission checks when performing membership actions.<\\/li>\\n<li>Fix: Auto renew checkbox incorrectly appearing for lifetime memberships.<\\/li>\\n<li>Fix: Display bug on email search dropdown when manually adding memberships\\/customers.<\\/li>\\n<li>Fix: User role granted while membership is still pending.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.8, May 9, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Add clear membership notes explaining where a cancellation originated from (customer action vs admin action vs webhook).<\\/li>\\n<li>New: Add get_user_id() method to RCP_Emails class.<\\/li>\\n<li>New: Add $membership parameter to \\\"rcp_subscription_details_action_links\\\" action.<\\/li>\\n<li>Tweak: Adjust logic in cron job that expires memberships, which will now allow the 2-day grace period to be removed with custom code.<\\/li>\\n<li>Fix: rcp_get_term_restrictions() - Can return an array with \\\"access_level\\\" =&gt; \\\"None\\\", which breaks restriction functionality.<\\/li>\\n<li>Fix: Registration form not able to be submitted after completing CAPTCHA.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.7, May 7, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Membership level not loading correctly in registration form when using the `id` attribute.<\\/li>\\n<li>Fix: 3.0 migration - force old expiration date to all lowercase to prevent errors with unexpected capitalization on \\\"none\\\" value.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.6, May 6, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Add option to disable loading Stripe Javascript when not needed.<\\/li>\\n<li>New: Add helper functions for checking WooCommerce purchase\\/viewing permissions.<\\/li>\\n<li>New: Introduce new function: rcp_has_term_restrictions(). This should also improve loading time as it reduces the usage of the more intensive function rcp_get_post_ids_assigned_to_restricted_terms().<\\/li>\\n<li>Tweak: Reintroduce rcp_user_has_access() helper function for checking access level.<\\/li>\\n<li>Tweak: Force debug logging off during 3.0 migration. This makes it go much faster.<\\/li>\\n<li>Tweak: Rename stripe.js handle to avoid JS conflicts. It\'s now called \\\"rcp-stripe-js-v2\\\".<\\/li>\\n<li>Tweak: Remove the current membership level from RCP_Membership-&gt;get_upgrade_paths(). This creates better separation between can_renew() and upgrade_possible(). This adjustment also fixed the following issues:\\n<ol>\\n<li>If upgrades are disabled, non-recurring memberships can\'t be renewed early.<\\/li>\\n<li>Don\'t show \\\"upgrade or change membership\\\" link when there\'s only one membership level on the site.<\\/li>\\n<li>Improve registration form UI when you\'re signed up to a free membership level and it\'s the only level available on the site.<\\/li>\\n<\\/ol>\\n<\\/li>\\n<li>Fix: Registration errors when the total amount due today is $0 due to one-time 100% off discounts, negative signup fees, or prorated credits. Note: this required massive changes to our register.js file so if you use any of our JavaScript functions\\/triggers we recommend testing on a staging site before upgrading your live site.<\\/li>\\n<li>Fix: PayPal Standard - incorrectly triggering \\\"rcp_webhook_recurring_payment_processed\\\" hook on initial payment.<\\/li>\\n<li>Fix: When an admin changes a membership\'s level, the user role is lost if the role is the same for both the old level and the new one.<\\/li>\\n<li>Fix: Customer \\/ membership search not working on emails with + symbols.<\\/li>\\n<li>Fix: Don\'t show update billing card form for PayPal Standard \\/ Express signups. Cards cannot actually be updated via RCP for those gateways; they need to be updated inside PayPal directly.<\\/li>\\n<li>Fix: If someone signs up for a lifetime membership via PayPal, doesn\'t complete payment, they\'re unable to try again.<\\/li>\\n<li>Fix: If a membership is in the trial period, then gets cancelled, the customer cannot renew the membership again until it expires.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.5, April 16, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: paypal-express-confirm.php<\\/li>\\n<li>New: Allow \\\"Payment Method\\\" to be modified on Edit membership screen.<\\/li>\\n<li>New: Add Idempotency Keys to Stripe POST Requests.<\\/li>\\n<li>New: Introduce new customer \\/ membership helper functions.<\\/li>\\n<li>New: Add email auto search when adding a new membership \\/ customer.<\\/li>\\n<li>New: Add \\\"rcp_add_membership_after\\\" hook to Add Membership page.<\\/li>\\n<li>Tweak: Reorder and rename email templates to provide better clarity.<\\/li>\\n<li>Tweak: Update membership \\\"recurring_amount\\\" value on automatic renewals.<\\/li>\\n<li>Fix: rcp_get_customer_gateway_id() not working correctly for Stripe Checkout.<\\/li>\\n<li>Fix: Incorrect payment gateway slug being used for \\\"PayPal Express\\\" payments.<\\/li>\\n<li>Fix: Add additional checks to ensure members get the correct user role when their membership is activated.<\\/li>\\n<li>Fix: rcp_get_membership_by() returning disabled membership records when it shouldn\'t be.<\\/li>\\n<li>Fix: Expired users cron job query not locating all relevant memberships.<\\/li>\\n<li>Fix: Initial Authorize.net payment being recorded twice.<\\/li>\\n<li>Fix: Incorrect subscription link URL for live Authorize.net subscriptions.<\\/li>\\n<li>Fix: \\\"subtotal\\\" payment column not being set for automatic renewals.<\\/li>\\n<li>Fix: Check if membership ID is set for payments before attempting to complete a registration. This caused problems when inserting payments via the REST API.<\\/li>\\n<li>Fix: JavaScript errors when adding a custom currency without specific name formatting.<\\/li>\\n<li>Fix: Registration not failing gracefully if customer record fails to be created.<\\/li>\\n<li>Fix: Incorrect setting description for \\\"maximum number of simultaneous connections per member\\\".<\\/li>\\n<li>Fix: 3.0 migration - incorrect user query on multisite installation when RCP is not network activated.<\\/li>\\n<li>Fix: 3.0 migration - skip membership import if membership level cannot be retrieved. This would occur if someone had a membership for a level that has since been deleted.<\\/li>\\n<li>Fix: Delete \\\"rcp_pending_payment_id\\\" meta value on registration failure.<\\/li>\\n<li>Fix: Undefined index notices on PayPal IPN when certain events come through.<\\/li>\\n<li>Fix: Credits not displayed on PayPal Express confirmation page.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.4, March 22, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: card-update-form.php, change-password.php, login.php, lostpassword.php, paypal-express-confirm.php, profile-editor.php, register-single.php, register.php,<\\/li>\\n<li>New: Add new \\\"transaction_type\\\" column to payments table to differentiate between renewals, upgrades, downgrades, and new registrations.<\\/li>\\n<li>New: Gateway Subscription\\/Customer IDs now link to relevant pages in payment gateway.<\\/li>\\n<li>New: Add gateway column to admin payments table.<\\/li>\\n<li>New: Add generic \\\"rcp-button\\\" class to all buttons in templates.<\\/li>\\n<li>New: Add \\\"rcp_stripe_existing_plan_id\\\" filter to Stripe plan ID when checking if a plan exists.<\\/li>\\n<li>Tweak: Update Stripe PHP library.<\\/li>\\n<li>Tweak: Prefix plugin name with \\\"WordPress\\\" in Stripe setAppInfo calls.<\\/li>\\n<li>Tweak: Include Stripe partner ID in setAppInfo calls.<\\/li>\\n<li>Tweak: Add extra checks to ensure cancellation emails do not get sent on upgrades\\/downgrades.<\\/li>\\n<li>Tweak: Braintree: search for existing customer by ID when processing a payment.<\\/li>\\n<li>Tweak: When calculating prorate credit amount, apply filter to $0 return values.<\\/li>\\n<li>Tweak: Adjust description on \\\"Membership Level\\\" setting for discount codes.<\\/li>\\n<li>Fix: Expiration date not extended if a user has 0 historical payments while manually renewing their membership before the expiration date. (This may have affected imported users renewing for the first time.)<\\/li>\\n<li>Fix: Certain circumstances may cause PayPal Express to charge an incorrect amount on manual renewals, if the first payment was discounted for other reasons.<\\/li>\\n<li>Fix: Plugin upgrade process not running if manually upgrading the plugin in a way that involves reactivating the plugin.<\\/li>\\n<li>Fix: Improve WP_User_Query backwards compatibility when checking \\\"rcp_status\\\" meta key\\/value.<\\/li>\\n<li>Fix: Deprecated rcp_get_member_cancel_url() function returning wrong membership ID.<\\/li>\\n<li>Fix: Memberships admin table bulk actions not working.<\\/li>\\n<li>Fix: Stripe Checkout transaction IDs not linked in admin.<\\/li>\\n<li>Fix: Credits incorrectly being added to payment record during renewals.<\\/li>\\n<li>Fix: Restricting by role through the meta box doesn\'t work if the user doesn\'t also have a membership.<\\/li>\\n<li>Fix: PayPal Standard amount verification causes IPN to fail if there\'s a record mismatch. This would only happen if you\'d edited a membership level price at some point.<\\/li>\\n<li>Fix: User role sometimes not being added on membership activation.<\\/li>\\n<li>Fix: No longer require object_id when adding a new membership. This fixes some issues with backwards compatibility when using update_user_meta() with old values.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.3, March 7, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: card-form-full.php<\\/li>\\n<li>New: Add a button to change the membership level when editing a membership.<\\/li>\\n<li>New: Add support for screen options on Customers and Memberships pages.<\\/li>\\n<li>New: Add note to customer profile when the customer upgrades or downgrades their membership.<\\/li>\\n<li>Tweak: Updated country list on registration form.<\\/li>\\n<li>Tweak: Added note in rcp_create_tables() PHPDocs about how to create new database tables in 3.0.<\\/li>\\n<li>Tweak: The \\\"Restrict\\\" menu item is no longer translated to\\u00a0Norwegian.<\\/li>\\n<li>Tweak: Add note when creating a discount code if no membership levels have been created yet.<\\/li>\\n<li>Fix: Plugin activation error when Yoast is also activated.<\\/li>\\n<li>Fix: \\\"View all payments\\\" link on Edit Customer page incorrectly showing payments by all customers.<\\/li>\\n<li>Fix: Email verification link not rendering in emails.<\\/li>\\n<li>Fix: User ID number not being stored with PayPal payments.<\\/li>\\n<li>Fix: Update regex for Stripe plan names.<\\/li>\\n<li>Fix: If the Renewal Payment Failed admin email template is disabled, the checkbox cannot be unchecked.<\\/li>\\n<li>Fix: Fatal error when searching on customer\\/membership pages and the search yields 0 results.<\\/li>\\n<li>Fix:\\u00a0PHP warning in rcp_has_post_restrictions() when post is restricted to multiple user roles.<\\/li>\\n<li>Fix: Unable to cancel PayPal Express memberships.<\\/li>\\n<li>Fix:\\u00a0Fatal error when using WordPress core\'s \\\"retrieve_password_title\\\" filter.<\\/li>\\n<li>Fix: Passwords were incorrectly sanitized when creating new users, potentially resulting in a different password being saved.<\\/li>\\n<li>Fix: Undefined index REQUEST_METHOD when running certain CLI commands.<\\/li>\\n<li>Fix: PayPal IPN verification was being performed even if it was disabled.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.2, March 4, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Added error logging to batch processor.<\\/li>\\n<li>New: Membership counts on membership levels table are now clickable and link to the memberships page filtered by level.<\\/li>\\n<li>New: Allow Stripe Connect notice to be dismissed.<\\/li>\\n<li>Tweak: Updated French translation.<\\/li>\\n<li>Tweak: Expand \\\"Username already taken\\\" error message to provide more clarity.<\\/li>\\n<li>Fix: Default user role not being removed when custom role is added. This could result in a member having two roles.<\\/li>\\n<li>Fix: PHP notice when submitting the log in form with a username that doesn\'t exist.<\\/li>\\n<li>Fix: Users who were pending email verification were incorrectly allowed to view restricted WooCommerce products.<\\/li>\\n<li>Fix: Membership level name not being added to Stripe Checkout modal under certain circumstances.<\\/li>\\n<li>Fix: \\\"Items\\\" count on memberships table not updating when filtering.<\\/li>\\n<li>Fix: Admins unable to view restricted content if they do not have a membership.<\\/li>\\n<li>Fix: Check payment_status in PayPal IPN when processing renewals.<\\/li>\\n<li>Fix: Fatal error on WooCommerce archive when using taxonomy restrictions and the current users not have a membership.<\\/li>\\n<li>Fix: Upgrades not activating correctly when using PayPal Standard.<\\/li>\\n<li>Fix: Incorrect wording in \\\"Update Billing Card Page\\\" setting description.<\\/li>\\n<li>Fix: Excerpts in EDD [downloads] shortcode incorrectly restricted.<\\/li>\\n<li>Fix: Undefined index error on fresh installs on settings and system info pages.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0.1, February 28, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Automatic update notices not appearing in admin dashboard.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.0, February 27, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Warning: Version 3.0 requires PHP version 5.6 or higher. Please do not upgrade unless you meet these requirements.<\\/li>\\n<li>Modified template files: card-update-form.php, invoice.php, paypal-express-confirm.php, register.php, register-single.php, register-total-details.php, subscription.php, woocommerce-single-no-access.php<\\/li>\\n<li>New: Membership data has been migrated to custom tables. This sets the foundation for supporting multiple memberships per user in the future. You will be prompted to migrate your data after upgrading.<\\/li>\\n<li>New: Added a batch processing API.<\\/li>\\n<li>New: Added support for payment plans.<\\/li>\\n<li>New: You can now restrict content to multiple user roles through the \\\"restrict this content\\\" meta box.<\\/li>\\n<li>New: You can now restrict content to custom user roles when using the [restrict] shortcode.<\\/li>\\n<li>New: Memberships can now be sorted by expiration date.<\\/li>\\n<li>New: The \\\"Auto Add Users to Level\\\" setting has been added to the system info file.<\\/li>\\n<li>New: The PayPal Express confirmation screen has been updated to include additional information, including discounts, fees, and credits.<\\/li>\\n<li>New: object_id is now supported in RCP_Payments::count().<\\/li>\\n<li>New: Original join dates are now stored (in the wp_rcp_customers table).<\\/li>\\n<li>New: \\\"Prevent Account Sharing\\\" setting now accepts a maximum number of simultaneous connections.<\\/li>\\n<li>New: When a user account is deleted, associated recurring subscriptions are now automatically cancelled.<\\/li>\\n<li>Tweak: \\\"Subscription Levels\\\" have been renamed to \\\"Membership Levels\\\".<\\/li>\\n<li>Tweak: \\\"Free Content Message\\\" and \\\"Paid Content Message\\\" have been merged into one single \\\"Restricted Content Message\\\" setting.<\\/li>\\n<li>Tweak: The Stripe API library has been updated.<\\/li>\\n<li>Tweak: The \\\"Email IPN Report\\\" feature has been removed.<\\/li>\\n<li>Tweak: Our login functions now use wp_signon(). This allows greater support for third party plugins that integrate with the login system, such as Jetpack Protect.<\\/li>\\n<li>Tweak: The invoice template has been expanded to include fees, discounts, and credits that were applied to that payment.<\\/li>\\n<li>Tweak: The login link text in the registration template has been adjusted.<\\/li>\\n<li>Tweak: Improved error messaging when adding\\/updating membership levels fails.<\\/li>\\n<li>Fix: Password reset links will now work with SendGrid click tracking.<\\/li>\\n<li>Fix: RCP user meta is now removed during uninstall.<\\/li>\\n<li>Fix: The payment_id column name in the wp_rcp_payment_meta table has been renamed to rcp_payment_id. This fixes a conflict with the Give plugin.<\\/li>\\n<li>Fix: The admin bar is no longer hidden for users who have the \\\"edit_posts\\\" capability.<\\/li>\\n<li>Fix: Under certain circumstances it was possible for rcp_get_ip() to return a CSV of IP addresses instead of a single IP.<\\/li>\\n<li>Fix: Databases are now registered when switching sites on multisite.<\\/li>\\n<li>Fix: Fixed a DateTime::__construct() fatal error in Authorize.net when signing up for a free trial.<\\/li>\\n<li>Fix: In the wp_rcp_payments table, the following column types have been updated: id (now unsigned), object_id (now unsigned), user_id (changed from mediumint to bigint(20) and now unsigned).<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.15, December 19, 2018<\\/strong><\\/p>\\n<ul>\\n<li>New: An admin notice is displayed on sites running PHP versions lower than 5.6. Restrict Content Pro version 3.0 will raise its PHP version requirement to 5.6 or higher, so if you\'re using an older version make sure you upgrade that before RCP 3.0!<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.14, August 27, 2018<\\/strong><\\/p>\\n<ul>\\n<li>New: Introduce \\\"RCP_DISABLE_EMAILS\\\" constant. When set, RCP will not send out any emails. Great for using on staging\\/development sites.<\\/li>\\n<li>New: Added filter \\\"rcp_email_payment_received_subject\\\" on \\\"Payment Received\\\" email subject.<\\/li>\\n<li>New: Added action \\\"rcp_membership_level_row_actions\\\" in subscription level row actions.<\\/li>\\n<li>New: Added \\\"Date Generated\\\" to system info file.<\\/li>\\n<li>New: Allow passing in date start\\/end in RCP_Payments::get_earnings().<\\/li>\\n<li>Tweak: Updated Spanish translation.<\\/li>\\n<li>Tweak: Updated Norwegian translation.<\\/li>\\n<li>Tweak: Get current user ID as fallback in rcp_get_return_url() if no user ID is provided.<\\/li>\\n<li>Tweak:\\u00a0Change composer\\/installers version requirement tilde to caret.<\\/li>\\n<li>Fix: Outdated certificate in Authorize.net SDK causing connection failures.<\\/li>\\n<li>Fix:\\u00a0Counts in Restrict &gt; Members sometimes incorrect when searching for a member.<\\/li>\\n<li>Fix: SQL syntax error in RCP_Levels::get_levels() limit clause.<\\/li>\\n<li>Fix: Prevent redirect loop when using \\\"Hide Restricted Posts\\\" feature and the redirect page is restricted.<\\/li>\\n<li>Fix: Content excerpt length was being set to 50, but then filtered to 100. The filter has been removed and the default is now set to 100, to avoid any actual changes.<\\/li>\\n<li>Fix: Unable to set list_order value in RCP_Levels::insert().<\\/li>\\n<li>Fix:\\u00a0Member incorrectly gets \\\"cancelled\\\" status when moving from paid level to old style free trial. This does not affect free trials that have been integrated into a paid subscription level via the \\\"Trial Duration\\\" field.<\\/li>\\n<li>Fix:\\u00a0Only block access to content via REST API if user can\'t access it.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.13, May 24, 2018<\\/strong><\\/p>\\n<ul>\\n<li>New: Added options to show Terms of Service and Privacy Policy checkboxes on the registration form. This lets you require your members agree to these terms before registering. The time and date someone agreed to the terms is shown on the member\'s edit screen in the WordPress admin.<\\/li>\\n<li>New: Added new filters so developers can customize the email subject and message body for emails that are sent to admins when someone\'s subscription status changes.<\\/li>\\n<li>Fix: When setting expiration dates using the bulk edit feature, the time is now set to 23:59:59 instead of 00:00:00.<\\/li>\\n<li>Fix: Settings pages now work properly on sites running non-English languages.<\\/li>\\n<li>Fix: Searches now work properly when there\'s a stray space character before or after the search term.<\\/li>\\n<li>Fix: PHP 7.2 warning no longer happens when viewing the System Info report.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.12, May 8, 2018<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Syntax error when activating the plugin on older versions of PHP.<\\/li>\\n<li>Fix: Javascript not loading on the password reset form.<\\/li>\\n<li>Fix: Two PHP notices when using Google Authenticator.<\\/li>\\n<li>Fix: Error in German translation files.<\\/li>\\n<li>Fix: Only load stylesheets when required in the restricted content message display.<\\/li>\\n<li>Fix: Do not show payment date on pending payments, since they\'re not paid yet.<\\/li>\\n<li>Fix: Free members could not see restricted content under certain conditions.<\\/li>\\n<li>Tweak: Remove log in notice after changing password, since you are not logged out.<\\/li>\\n<li>Enhancement: Pass the error ID to rcp_error_messages_html filter.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.11, April 19, 2018<\\/strong><\\/p>\\n<ul>\\n<li>Modified templates: payment-express-confirm.php.<\\/li>\\n<li>New: You can now easily connect your Stripe account with Stripe Connect. See your settings page for more details.<\\/li>\\n<li>New: Identify RCP pages (registration form, profile form, etc.) on the Pages &gt; All Pages screen.<\\/li>\\n<li>New: Added rcp_restricted_post_redirect_url filter to allow developers to dynamically control where someone redirects when trying to view a restricted post they don\'t have access to.<\\/li>\\n<li>Tweak: Automatically change the currency symbol shown in the Currency Position setting when the Currency option is changed.<\\/li>\\n<li>Tweak: Deprecated the cp_check_paypal_return_price_after_discount() function.<\\/li>\\n<li>Tweak: Add HTML classes to the PayPal Express confirmation form elements.<\\/li>\\n<li>Tweak: Change the wording in the PayPal settings to make it clear that the API keys are not optional.<\\/li>\\n<li>Tweak: Added trial information to debug logging in the gateway class.<\\/li>\\n<li>Tweak: Force debug logging of critical errors.<\\/li>\\n<li>Tweak: Added fees and level ID to the Subscription Levels section of the System Info file.<\\/li>\\n<li>Fix: Accessibility issues on the registration form.<\\/li>\\n<li>Fix: Improve the user experience on the [register_form_stripe] shortcode when someone that\'s logged out enters an email address that already exists.<\\/li>\\n<li>Fix: Improve member search feature.<\\/li>\\n<li>Fix: Errors when cancelling a subscription when an existing member moves from a PayPal subscription to a Stripe subscription.<\\/li>\\n<li>Fix: Braintree webhook compatibility issue with the old standalone Braintree add-on.<\\/li>\\n<li>Fix: Duplicate subscriptions created in Stripe under certain conditions.<\\/li>\\n<li>Fix: Improve the Stripe Checkout experience when using the [register_form_stripe] shortcode. It\'s now clear that processing is happening in the background after the Stripe Checkout popup closes.<\\/li>\\n<li>Fix: Updated Brazilian translation files.<\\/li>\\n<li>Fix: Member status was improperly set to cancelled when changing from PayPal to another gateway, if the PayPal IPN was delayed.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.10, March 1, 2018<\\/strong><\\/p>\\n<ul>\\n<li>Modified templates: login.php, invoice.php.<\\/li>\\n<li>New: Add \\\"Preview\\\" and \\\"Send Test Email\\\" buttons for all email templates.<\\/li>\\n<li>Fix: Password reset success message not shown if already logged in.<\\/li>\\n<li>Fix: Members incorrectly receiving \\\"cancelled subscription\\\" emails when renewing expired memberships.<\\/li>\\n<li>Fix: Admins unable to view restricted posts in archives when \\\"Hide Restricted Posts\\\" is enabled.<\\/li>\\n<li>Fix: Delete database cache when adding\\/editing subscription levels.<\\/li>\\n<li>Fix: Payment date in invoice template not localized.<\\/li>\\n<li>Tweak: Set sslverify to true wherever used.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.9, February 12, 2018<\\/strong><\\/p>\\n<ul>\\n<li>Tweak: Updated German translation.<\\/li>\\n<li>Fix: Unable to create new Stripe plans with Stripe API version 2018-02-05 or later.<\\/li>\\n<li>Fix: \\\"Hide Restricted Posts\\\" feature not showing posts in archives for members of free subscription levels.<\\/li>\\n<li>Fix: Admin \\\"cancel at payment gateway\\\" option not working when used in conjunction with \\\"revoke access now\\\".<\\/li>\\n<li>Fix: Only cancel memberships via gateway cancellation webhook if member is active.<\\/li>\\n<li>Fix: array_key_exists() error when get_post_type() returns false.<\\/li>\\n<li>Fix: New PayPal Express payments not getting assigned a subscription key.<\\/li>\\n<li>Fix: Subscription level is blank on manual payment emails sent to administrator.<\\/li>\\n<li>Fix: register.js file being loaded in [card_details] shortcode if the user cannot actually update their card details.<\\/li>\\n<li>Fix: JavaScript conflict with other plugins that uses hashes in admin page URLs.<\\/li>\\n<li>Fix: \\\"Can\'t combine currencies on a single customer\\\" Stripe error when Stripe currency differs from RCP currency.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.8, January 12, 2018<\\/strong><\\/p>\\n<ul>\\n<li>Tweak: Cancelled users who have expired are now changed to the \\\"expired\\\" status. This will update the status of all cancelled users who have reached their expiration date.<\\/li>\\n<li>Fix: Issue where PayPal payments were recorded twice in RCP under certain conditions.<\\/li>\\n<li>Fix: PayPal SoftDescriptor truncated error if the site name + subscription name is too long.<\\/li>\\n<li>New: Added rcp_reminder_notice_periods filter to allow developers to customize email reminder periods.<\\/li>\\n<li>New: Added rcp_invoice_bill_to action hook to allow developers to customize the invoice Bill To area.<\\/li>\\n<li>Tweak: Updated Braintree JavaScript to the latest version.<\\/li>\\n<li>Tweak: Added more debug logs to cron jobs that send renewal\\/expiration email reminders.<\\/li>\\n<li>Fix: First and last name could be blank in Braintree under certain conditions.<\\/li>\\n<li>Enhancement: Made it more obvious that a member can update their payment card on the [subscription_details] page when their subscription is expired.<\\/li>\\n<li>Fix: No longer log PayPal as the gateway used on free registrations, because PayPal was not used!<\\/li>\\n<li>Fix: Undefined index notice when using the [restrict] shortcode if there wasn\'t a Free Content Message configured in the settings.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.7, December 12, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Registration totals are now properly formatted to 2 decimal places when appropriate.<\\/li>\\n<li>Fix: Issue where proration calculation amounts were incorrect due to date formatting.<\\/li>\\n<li>Fix: Set expiration on logged in transients when using Disable Account Sharing feature.<\\/li>\\n<li>Fix: Reports now work properly when switching from Last Year and back to This Year.<\\/li>\\n<li>Fix: CSV payment export now properly handles negative amounts.<\\/li>\\n<li>Fix: Issue where free members were marked as pending if they started to purchase a paid subscription and did not complete it.<\\/li>\\n<li>Fix: Issue with WooCommerce product visibility when products restricted to user level.<\\/li>\\n<li>Fix: Renew Your Subscription link no longer shows for members that have no expiration date.<\\/li>\\n<li>Fix: Members with overdue Stripe subscriptions will no longer be double billed if they go through the registration form and renew or subscribe to a different membership.<\\/li>\\n<li>Fix: Timestamp is now preserved when editing payments.<\\/li>\\n<li>Fix: Settings tabs now work on translated sites.<\\/li>\\n<li>Fix: Issue where pending member counts were incorrect under certain conditions.<\\/li>\\n<li>Tweak: If a member cancels a PayPal Express payment, they\'ll be returned to the page they came from instead of always going back to the registration page.<\\/li>\\n<li>Tweak: Adjusted markup on registration form pricing table.<\\/li>\\n<li>New: Added more data to payment export CSV files.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.6, October 20, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: New subscriptions immediately cancelled when upgrading from another level and paying with PayPal. That no longer happens.<\\/li>\\n<li>Fix: Roles defined on the subscription level are now reapplied to expired users when they are reactivated via some way other than the registration form.<\\/li>\\n<li>Fix: Manual Payment emails to the admin are now sent to the addresses you have in the Admin Notification Email setting under Restrict &gt; Settings &gt; Email.<\\/li>\\n<li>Fix: Stripe discount codes now properly work regardless of the case used when entering them.<\\/li>\\n<li>Fix: Improve error message display in Stripe gateway.<\\/li>\\n<li>Fix: Trailing zeroes are no longer stripped from amounts in emails.<\\/li>\\n<li>Fix: [subscription_details] shortcode will now show the subscription level name if the member is still pending.<\\/li>\\n<li>Fix: Earnings now calculate properly for very old payments that exist before payments had a status.<\\/li>\\n<li>Fix: Confirm dialog no longer shows twice if you want to delete a payment. Once is enough.<\\/li>\\n<li>Fix: Debug logging now uses the site\'s configured timezone when logging.<\\/li>\\n<li>Fix: When specifying a subscription level ID with the [register_form] shortcode, the form will no longer show if the subscription level is unlimited and the member already has the level.<\\/li>\\n<li>Fix: PHP notice when viewing the [subscription_details] page while logged out.<\\/li>\\n<li>Fix: _rcp_new_subscription usermeta flag now properly removed on free users when registration processing is complete.<\\/li>\\n<li>Fix: Changed the font size in the settings page tabs, and fixed the display of the active tab.<\\/li>\\n<li>Tweak: Swapped the order of the Stripe key settings to match the order Stripe shows them to make things a little easier.<\\/li>\\n<li>Tweak: Exclude admins from Prevent Account Sharing feature.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.5, October 16, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Issue where expired members or manually renewing members paying via Stripe could have ended up with two subscriptions in Stripe.<\\/li>\\n<li>Fix: Updated the Authorize.net SDK to the latest version, to help with all the Authorize.net fixes listed below.<\\/li>\\n<li>Fix: Authorize.net will now authorize cards before creating a subscription, which should reduce or eliminate failed payments due to Authorize.net delaying captures.<\\/li>\\n<li>Fix: Authorize.net now does single charges instead of one-time recurring charges when auto-renew is disabled or not selected.<\\/li>\\n<li>Fix: Proration message no longer shows if the member isn\'t eligible for proration.<\\/li>\\n<li>Fix: Downgrading from a paid to a free subscription will now properly cancel the paid subscription.<\\/li>\\n<li>Fix: Authorize.net will no longer attempt to create invalid subscriptions with a duration greater than 1 year, since they don\'t support that.<\\/li>\\n<li>Fix: Removed Alipay from Stripe Checkout since Stripe no longer supports Alipay via Stripe Checkout. Alipay will be introduced again in the future using another method.<\\/li>\\n<li>Fix: [register_form_stripe] shortcode behavior is now more consistent with the [register_form] shortcode. It now shows the subscription name in the Stripe Checkout popup instead of the site name. It also now supports image.<\\/li>\\n<li>Fix: REST API requests failing when the Prevent Account Sharing option is enabled.<\\/li>\\n<li>Fix: PHP notice when using RCP_Payments::get_payment() with a non-existent payment ID.<\\/li>\\n<li>Fix: PHP notice Undefined property: RCP_Emails::$payment_id when sending emails.<\\/li>\\n<li>Fix: When a member has a lifetime membership, RCP no longer shows that membership level to them on the registration page because renewing a lifetime membership makes no sense.<\\/li>\\n<li>Fix: rcp_is_post_taxonomy_restricted() is unavailable during AJAX requests, which caused issues with certain WooCommerce extensions.<\\/li>\\n<li>Fix: Invoice notes now better support multiple paragraphs and other formatting.<\\/li>\\n<li>Fix: RCP_Payments::get_payment_by() now works properly with strings as parameters.<\\/li>\\n<li>Fix: Braintree compatibility with old Braintree add-on that existed before Braintree was merged into RCP.<\\/li>\\n<li>New: New action hooks for developers: rcp_options_install and rcp_create_tables.<\\/li>\\n<li>New: Allow admins to manually verify accounts that are subject to email verification.<\\/li>\\n<li>New: Added rcp_get_currency_symbol function to get the just the currency symbol of the site\'s currency.<\\/li>\\n<li>New: Password reset form now shows a success message after members successfully reset their passwords.<\\/li>\\n<li>Tweak: Discount code input fields on the registration form are now wrapped in a span element, to make layouts in CSS easier.<\\/li>\\n<li>Tweak: Change capability required to view Tools menu from rcp_view_payments to rcp_manage_settings. For admin users, this means nothing since you already have both of those capabilities. This is for fine grained access control to menus, if needed.<\\/li>\\n<li>Tweak: Improve rcp_has_post_restrictions() checks to better support legacy data.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.4, September 22, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Payments over 999 were being improperly saved in the database with a comma for a thousand separator, which caused the invoice to show the incorrect amount due to currency formatting.<\\/li>\\n<li>Fix: Move the rcp_form_processing hook to run later in the registration process, to fix some integration issues with other plugins.<\\/li>\\n<li>Fix: %amount% email tag was sometimes showing the incorrect amount.<\\/li>\\n<li>Fix: Registration form hanging when signing up for a free plan and Braintree is the only gateway enabled.<\\/li>\\n<li>Fix: Login form now supports the class attribute on the [login_form] shortcode.<\\/li>\\n<li>Fix: PHP notice when saving a post if \\\"Members of subscription level\\\" is selected but a radio option below it was not selected.<\\/li>\\n<li>Fix: Updated admin-styles.min.css<\\/li>\\n<li>Tweak: Improve description in the tooltip for the Email Verification setting.<\\/li>\\n<li>New: Allow an empty space to be saved in the message attribute for the [restrict] shortcode.<\\/li>\\n<li>New: %discount_code% email tag now supported, to show which discount code was used, if any.<\\/li>\\n<li>New: Added Norwegian translation.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.3, September 15, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: The subscription level dropdown when editing Pending members now shows their pending subscription level instead of the first one in the list.<\\/li>\\n<li>Tweak: Subscription level ID numbers are now easier to read in the admin list.<\\/li>\\n<li>New: rcp_post_excerpt filter added for developers to customize the excerpt content.<\\/li>\\n<li>New: rcp_verification_redirect_url filter added for developers to customize the redirect URL for email verification links.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.2, September 7, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Improved security of Prevent Account Sharing feature.<\\/li>\\n<li>Fix: Avoid sending personally identifiable information (the email address) in email verification links.<\\/li>\\n<li>Fix: Renewal Payment Email no longer sent when a Stripe payment is declined during initial registration.<\\/li>\\n<li>Fix: Braintree payment profile ID not set on some members under certain conditions.<\\/li>\\n<li>Fix: Incorrect expiration date on PayPal non-recurring payments.<\\/li>\\n<li>Fix: Member status and expiration issues when a member renews early with the Manual Payment gateway.<\\/li>\\n<li>Fix: PHP notice when rcp_user_can_access() is used in a template on a 404 page.<\\/li>\\n<li>Fix: Recurring flag is now removed from members when they changed to free subscription levels.<\\/li>\\n<li>Fix: Remove _is_paid post meta data when Remove Data on Uninstall option is enabled.<\\/li>\\n<li>Tweak: Improve text on subscription cancellation notice.<\\/li>\\n<li>Tweak: Payment Received Emails no longer sent for free registrations.<\\/li>\\n<li>New: Search members by payment profile ID.<\\/li>\\n<li>New: Edit \\/ View links on Page settings for quicker access to editing and viewing.<\\/li>\\n<li>New: Add link to member profile on the Edit Payment page.<\\/li>\\n<li>New: rcp_reminder_subscription_args filter to allow developers to change email reminder behavior.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9.1, August 29, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Some email template tags not working.<\\/li>\\n<li>Fix: Payments made with Manual Payments option now remaining pending until approved.<\\/li>\\n<li>Fix: Removed duplicate query on payment view page in admin.<\\/li>\\n<li>Fix: RCP_Payments::get_earnings() now supports querying earnings of multiple user ids<\\/li>\\n<li>Fix: Incorrect number of table columns in payment view screen when there are no payments.<\\/li>\\n<li>Fix: Payment date on invoices is now translation ready and will use your date format in the WordPress settings.<\\/li>\\n<li>Fix: Username search results overlapped on Add New Subscription page.<\\/li>\\n<li>Fix: PayPal Express confirmation page is now responsive and looks better on mobile devices.<\\/li>\\n<li>Fix: Zip code field is now longer so that input doesn\'t get cut off visually.<\\/li>\\n<li>Fix: Join date is no longer overwritten when someone renews the same subscription level.<\\/li>\\n<li>Fix: CSS now loads on pages with the [subscription_details] shortcode to make it look better.<\\/li>\\n<li>Fix: When updating PayPal billing card you will no longer get the error \\\"Error updating subscription\\\".<\\/li>\\n<li>Fix: Postal code and CVV are now sent to Braintree to help with fraud detection.<\\/li>\\n<li>Fix: Misspelled description on settings page.<\\/li>\\n<li>Fix: Undefined variable $note on the rare occasion a member\'s expiration date fails to update.<\\/li>\\n<li>Fix: Authorize.net transactions linked to the wrong gateway in the admin payment view.<\\/li>\\n<li>Fix: HTML span nesting issue in register.php template.<\\/li>\\n<li>Fix: Paid users no longer given \\\"free\\\" status when the subscription level duration is set to 0. They now get \\\"active\\\" status.<\\/li>\\n<li>Fix: Member join date now uses the local timezone.<\\/li>\\n<li>Fix: Incorrect \\\"subscription renewed\\\" note during new signups.<\\/li>\\n<li>Fix: PayPal Express auto-renewing members not being marked as recurring.<\\/li>\\n<li>Fix: Added back the rcp_edit_member action hook that was mistakenly removed in 2.9.<\\/li>\\n<li>Tweak: Allow subscription price to be entered with only one digit after the decimal.<\\/li>\\n<li>Tweak: rcp_print_user_payments() function is now deprecated.<\\/li>\\n<li>New: Added rcp_payments_page_table_row_actions action hook for developers.<\\/li>\\n<li>New: Added rcp_set_status_value filter for developers to allow filtering of new status in RCP_Member::set_status().<\\/li>\\n<li>New: Added rcp_payments_total_columns filter to payment view table for developers.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.9, August 14, 2017<\\/strong><\\/p>\\n<ul>\\n<li>New: Added subscription renewal reminder notice emails<\\/li>\\n<li>New: Added support for restricting complete post types<\\/li>\\n<li>New: Added support for custom user roles in user role restriction options<\\/li>\\n<li>New: Added Debug Mode option to assist in resolving problems<\\/li>\\n<li>New: A template tag has been added to email settings for retrieving the URL to the most recent invoice on a member\'s account<\\/li>\\n<li>New: Password reset emails are now sent in the standard HTML email as all other RCP emails<\\/li>\\n<li>New: Admin screens for subscription levels, discount codes, and payment records now include status filters<\\/li>\\n<li>Tweak: The [register_form] shortcode now permits multiple subscription level IDs to be specified<\\/li>\\n<li>Tweak: The redirect performed after logging in now uses wp_safe_redirect()<\\/li>\\n<li>Tweak: The process-data.php file has been broken up into multiple PHP files to make it easier for developers<\\/li>\\n<li>Tweak: RCP_Payment_Gateway now includes better inline documentation<\\/li>\\n<li>Tweak: The register-single.php template file now includes a log in link<\\/li>\\n<li>Tweak: A new action hook has been added that fires after successful member registration<\\/li>\\n<li>Tweak: Payment records now get created earlier and include a pending status<\\/li>\\n<li>Tweak: Payment records now store the discount code that was used<\\/li>\\n<li>Tweak: Payment records now store the exact subscription level ID related to the payment<\\/li>\\n<li>Tweak: Payment records now store the slug of the payment gateway used, such as stripe<\\/li>\\n<li>Tweak: Invoice download links are now available from the edit member screen<\\/li>\\n<li>Bug: Memberships were not properly renewed in Authorize.net if they included a free trial<\\/li>\\n<li>Bug: PayPal Express could return a fatal error on the confirmation screen for some PayPal accounts<\\/li>\\n<li>Bug: Stripe customer ID not saved early enough during registration<\\/li>\\n<li>Bug: rcp_member_get_expiration_date filter did not include necessary $formatted and $pending variables<\\/li>\\n<li>Bug: WooCommerce: products in restricted category\\/tag were still accessible via direct URL<\\/li>\\n<li>Bug: WooCommerce: active members could not view products restricted to \\\"Active subscribers only\\\"<\\/li>\\n<li>Bug: Expiration date incorrectly calculated for manual renewals<\\/li>\\n<li>Bug: Subscriptions that auto renew but started with a 100% discount expire improperly<\\/li>\\n<li>Bug: Registration submit button disabled improperly if reCaptcha is enabled but API keys are not entered<\\/li>\\n<li>Bug: Stripe Checkout modal shows price even when signing up for a free trial with the [register_form_stripe] shortcode<\\/li>\\n<li>Bug: Filter in rcp_currency_filter() not used properly<\\/li>\\n<li>Bug: Subscription ID saved to Stripe customer metadata before subscription is actually created in Stripe<\\/li>\\n<li>Bug: Pending users can view content protected by [restrict] shortcode<\\/li>\\n<li>Bug: Duplicate subscriptions created on customers in Stripe if their customer record had a previously delinquent subscription<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8.6, June 7, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Login redirect now works with the redirect_to parameter when added by WordPress.<\\/li>\\n<li>Fix: Incorrect filter names for registration headers in register-single.php template.<\\/li>\\n<li>Enhancement: Registration form now passes more form fields when calculating totals, for better add-on compatibility.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8.5, April 17, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Misspelling of Province on credit card form.<\\/li>\\n<li>Fix: Memberships sometimes cancelled in when moving from recurring to non-recurring subscription.<\\/li>\\n<li>Update Finnish translation.<\\/li>\\n<li>Fix: Round pending subscription amount, which fixes calculation issue with certain gateways like PayPal.<\\/li>\\n<li>Add member and subscription level metadata to subscriptions on stripe.com.<\\/li>\\n<li>Fix: Developers - RCP_Member::get_renewed_date() now properly returns a string instead of an array.<\\/li>\\n<li>Fix: Extra slashes are no longer added to discount code descriptions when saving\\/updating.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8.4, April 5, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Stripe Checkout popup loads twice under certain conditions.<\\/li>\\n<li>Fix: Trailing zeroes stripped from the price displayed on invoices.<\\/li>\\n<li>Fix: Post restrictions not working as expected under certain conditions when restricted to tags, categories, or other custom taxonomies.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8.3, March 30, 2017<\\/strong><\\/p>\\n<ul>\\n<li>New: Add confirmation dialog when deleting a discount code.<\\/li>\\n<li>Fix: PHP notice when exporting payments if the member\'s account has been deleted.<\\/li>\\n<li>Fix: Rounding errors with percentage discounts.<\\/li>\\n<li>Fix: Only show admin notices to users that have necessary capabilities.<\\/li>\\n<li>Fix: Free trial email being sent twice.<\\/li>\\n<li>Fix: Stripe receipt emails will now respect the Stripe account settings.<\\/li>\\n<li>Fix: Missing closing anchor element on View Receipt link.<\\/li>\\n<li>Fix: Incorrect trial end dates in PayPal Express.<\\/li>\\n<li>Fix: Trailing zeroes not required when editing payments.<\\/li>\\n<li>Fix: System info report not showing parent theme template overrides.<\\/li>\\n<li>Fix: Stripe subscriptions sometimes cancelled during upgrades if the webhook is delayed.<\\/li>\\n<li>Enhancement: Improve performance of can_access() method.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8.2, March 17, 2017<\\/strong><\\/p>\\n<ul>\\n<li>New: You can now require new members to verify their email before gaining access to restricted content (Restrict &gt; Settings &gt; Emails).<\\/li>\\n<li>New: There\'s now a confirmation screen when cancelling a subscription via [subscription_details].<\\/li>\\n<li>New: Add a member note when the user\'s subscription level changes.<\\/li>\\n<li>New: Add filter for the login redirect URL ( rcp_login_redirect_url ).<\\/li>\\n<li>Fix: Upgrades improperly given both proration and full expiration date extension.<\\/li>\\n<li>Fix: If initial PayPal Express payment fails, user\'s account is not set back to \\\"pending\\\".<\\/li>\\n<li>Fix: Stripe customer balance not removed if payment fails.<\\/li>\\n<li>Fix: Posts restricted by term not included in rcp_is_restricted_content().<\\/li>\\n<li>Fix: Styling issues on payments table on Edit Member screen. Payments table is also now responsive.<\\/li>\\n<li>Fix: Cancelled member who signs up for a recurring Stripe subscription incorrectly receives the \\\"Expired\\\" email.<\\/li>\\n<li>Fix: Username validation fails on multisite installations when using uppercase characters.<\\/li>\\n<li>Fix: Stripe.js loaded twice when EDD Stripe is also activated.<\\/li>\\n<li>Fix: Disabling upgrades removes renewal link from [subscription_details] page.<\\/li>\\n<li>Fix: Auto renew checkbox remains visible when selecting a free level with an unlimited duration.<\\/li>\\n<li>Fix: SQL syntax error on plugin activation.<\\/li>\\n<li>Fix: Display an error message when attempting to edit a member that doesn\'t exist.<\\/li>\\n<li>Fix: PayPal subscr_eot IPN incorrectly expiring some memberships that have since been updated.<\\/li>\\n<li>Tweak: Always use RCP_Member::get_expiration_date() method where possible instead of getting user meta directly.<\\/li>\\n<li>Tweak: Improve member notes format during initial signup.<\\/li>\\n<li>Tweak: When reCAPTCHA is activated you can no longer submit the registration form until it\'s been filled out.<\\/li>\\n<li>Tweak: Removed the second display of the subscription level price on the register-single.php template.<\\/li>\\n<li>Tweak: Changed the heading on the members page from \\\"Paid Subscribers\\\" to \\\"Members\\\".<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8.1, March 9, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Error on sites running a WordPress version prior to 4.7.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.8, March 9, 2017<\\/strong><\\/p>\\n<ul>\\n<li>New: Added Braintree Payments gateway.<\\/li>\\n<li>New: Added support for one-time discounts.<\\/li>\\n<li>New: Added an option to remove all data from the database when uninstalling Restrict Content Pro.<\\/li>\\n<li>New: Payment profiles for member accounts can now be cancelled directly from the member Edit screen when setting their status to \\\"Cancelled\\\".<\\/li>\\n<li>New: Added filter to allow custom metadata to be attached to Stripe subscriptions.<\\/li>\\n<li>New: Added a setting to select whether Auto Renew is checked on by default for new subscribers.<\\/li>\\n<li>New: Admin emails can now be customized and configured with template tags.<\\/li>\\n<li>New: Added actions in metabox display template and in save meta function.<\\/li>\\n<li>Tweak: Help tabs have been updated and made available for translation.<\\/li>\\n<li>Tweak: All plugin CSS has been refactored to be more clear and consistent.<\\/li>\\n<li>Tweak: Use count on discount codes now get properly adjusted when account registration fails.<\\/li>\\n<li>Fix: If registration with a free trial fails, it is not possible for members to try again.<\\/li>\\n<li>Fix: Manual renewals improperly prorate payment amounts.<\\/li>\\n<li>Fix: Payment profile IDs do not have whitespace removed.<\\/li>\\n<li>Fix: Responsive tables do not work with all themes.<\\/li>\\n<li>Fix: Incorrect behavior with some restriction functions due to empty metadata being saved.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.7.4, March 3, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Two subscriptions with the same name may result in incorrect\\u00a0charge\\/duration in Stripe.<\\/li>\\n<li>Fix: Content restricted to \'any\' level was accessible to pending members.<\\/li>\\n<li>Fix: Some posts incorrectly\\u00a0being included in\\u00a0rcp_get_post_ids_assigned_to_restricted_terms(). This would only be noticed if \\\"Hide Restricted Posts\\\" is checked on.<\\/li>\\n<li>Fix: Incorrect expiration date given to member if they register, don\'t complete payment, then register again days later.<\\/li>\\n<li>Fix: Stripe Checkout spinner icon still visible after closing modal without completing payment.<\\/li>\\n<li>Fix: Payment form not re-appearing when removing an applied discount code.<\\/li>\\n<li>Tweak: Pass $event variable to hooks in Stripe gateway, like\\u00a0rcp_stripe_charge_succeeded and\\u00a0rcp_stripe_charge_failed.<\\/li>\\n<li>New: Add user note when recurring charge fails.<\\/li>\\n<li>New: Add new RCP_Member methods for set_subscription_id() and set_subscription_key().<\\/li>\\n<li>New: Filters for expiring soon email message and subject. Filters are:\\u00a0rcp_expiring_soon_email and\\u00a0rcp_expiring_soon_subject.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.7.3, February 21, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Free trials not working properly in PayPal Express.<\\/li>\\n<li>Fix: Older unrestricted posts being improperly treated as restricted.<\\/li>\\n<li>Fix: Undefined variable in rcp_stripe_charge_failed hook.<\\/li>\\n<li>Fix: Payments made with Authorize.net have invalid date attached.<\\/li>\\n<li>Fix: Register button text not passed through rcp_registration_register_button filter.<\\/li>\\n<li>Tweak: Stop using deprecated functions internally.<\\/li>\\n<li>New: Per Stripe\'s recommendation, load Stripe.js on all pages if Stripe is enabled. Helps with Stripe\'s fraud detection.<\\/li>\\n<li>New: Add dynamic rcp_set_status_{$status} developer hook in RCP_Member.<\\/li>\\n<li>New: Email admin when a new manual payment is received.<\\/li>\\n<li>New: Add [is_expired] shortcode for showing content to expired members only.<\\/li>\\n<li>New: rcp_save_settings filter for developers to use when RCP settings are saved.<\\/li>\\n<li>New: Option to Always\\/Never show excerpts, or decide on an individual post by post basis. The new option is under Restrict &gt; Settings &gt; Misc.<\\/li>\\n<li>New: Search by first\\/last name on the Members list page.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.7.2, February 14, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Enhancement: Add a note to a member\'s record when the \\\"expiring soon\\\" email is sent.<\\/li>\\n<li>New: Added the rcp_export_members_get_data_row and rcp_export_payments_get_data_row filters, making it easier to custom data to member and payment exports.<\\/li>\\n<li>New: Introduced a new function, rcp_is_valid_currency(), to determine if a given currency code matches the currency selected in the settings.<\\/li>\\n<li>New: Added action hooks to the invoice template, making it easier to programmatically add information to the invoice. New hooks are: rcp_invoice_items, rcp_invoice_items_before_total_price, rcp_invoice_additional_info, rcp_invoice_after_additional_info.<\\/li>\\n<li>Enhancement: Set user display name to username if first and last names are not filled out during registration.<\\/li>\\n<li>Fix: Member notes added programmatically not saved when editing a member in the admin.<\\/li>\\n<li>Fix: jQuery Migrate notice on registration form.<\\/li>\\n<li>Fix: Login failure if username is an email address but is different from the account\'s actual email address.<\\/li>\\n<li>Fix: Two cancellation emails sent when a member cancels.<\\/li>\\n<li>Fix: rcp_get_current_url() not working when used behind a reverse proxy.<\\/li>\\n<li>Fix: Only send the trial email when a member signs up for an old style trial plan, instead of the trial and active emails.<\\/li>\\n<li>Fix: Remove brackets from lost password email link, making it work better with some email apps.<\\/li>\\n<li>Fix: Don\'t load gateway webhook processing when not needed, such as during ajax, cron, and admin page views.<\\/li>\\n<li>Fix: Totals not showing on the registration form on mobile devices.<\\/li>\\n<li>Fix: Trial members not getting an activation email.<\\/li>\\n<li>Fix: Table layout issue with [subscription_details] shortcode.<\\/li>\\n<li>Fix: HTML emails have extra spacing when sent through Mandrill with the WPMandrill plugin.<\\/li>\\n<li>Fix: Quick\\/bulk editing WooCommerce products no longer wipes out restriction settings.<\\/li>\\n<li>Fix: Incomplete email subject line on admin notifications of free trials.<\\/li>\\n<li>Fix: PHP notice: undefined gateway_obj on free registrations.<\\/li>\\n<li>Fix: Email tags not parsed on plain text emails.<\\/li>\\n<li>Tweak: Deprecate the unused rcp_rstrstr() function.<\\/li>\\n<li>Developer: Introduced can_cancel() and cancel_payment_profile() methods in RCP_Member. rcp_can_member_cancel() and rcp_cancel_member_payment_profile() are now wrappers for these new methods.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.7.1, February 8, 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Missing Stripe token when using Stripe Checkout<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.7, February 8, 2017<\\/strong><\\/p>\\n<ul>\\n<li>New: Added Authorize.net integration<\\/li>\\n<li>New: Added support for free trials with payment detail collection<\\/li>\\n<li>New: Added support for failed payment email notifications<\\/li>\\n<li>New: Added support for HTML emails with new email templates<\\/li>\\n<li>New: Added a better integration with Easy Digital Downloads<\\/li>\\n<li>New: Added support for automatically removing subscription level-assigned user roles when members expire \\/ cancel<\\/li>\\n<li>New: Content restricted via taxonomy term is now compatible with our redirect feature<\\/li>\\n<li>New: HTML classes now added via post_class to restricted content<\\/li>\\n<li>New: Members now redirected away from all restricted content when they do not have access and Hide Restricted Posts is enabled<\\/li>\\n<li>New: An option to hide the WordPress toolbar has been added<\\/li>\\n<li>New: A column for \\\"Payment Status\\\" has been added to the [subscription_details] shortcode<\\/li>\\n<li>New: Automatically apply a discount code by including it in the registration URL<\\/li>\\n<li>Tweak: [subscription_details] is now fully responsive<\\/li>\\n<li>Tweak: Payment method selection now uses radio buttons<\\/li>\\n<li>Tweak: Direct links to merchant details screens has been added to payments list in the member edit screen<\\/li>\\n<li>Tweak: All back-end pages now use h1 tags for page headers<\\/li>\\n<li>Fix: First\\/last name and billing address not sent to PayPal Pro<\\/li>\\n<li>Fix: Incorrect language detected by System Info report<\\/li>\\n<li>Fix: Incorrect payment \\/ discount ID sometimes returned when creating new records<\\/li>\\n<li>Fix: Incorrect description under 2Checkout Test Seller ID field<\\/li>\\n<li>Fix: Invalid integer error when using Alipay in Stripe Checkout<\\/li>\\n<li>Fix: Existing users cannot subscribe with Stripe Checkout<\\/li>\\n<li>Fix: Invalid HTML markup in profile editor<\\/li>\\n<li>Fix: Fatal error when attempting to create a discount code when Stripe API credentials are not set up<\\/li>\\n<li>Fix: Database tables inaccessible in WordPress multisite when network activated<\\/li>\\n<li>Fix: Registration form validation skipped when using Stripe Checkout<\\/li>\\n<li>Fix: Account details not emailed to customers when using Stripe Checkout shortcode<\\/li>\\n<li>Fix: Users with rcp_manage_discounts capability unable to add new discount codes<\\/li>\\n<li>Fix: Memberships are now activated immediately after successful PayPal Pro payment (rather than a few second delay)<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.16, January, 21 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Issue where expired and pending members were locked out of all site content, regardless of restriction settings.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.15, January, 19 2017<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Issue where expired members could still restricted access content under certain conditions.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.14, January, 6 2017<\\/strong><\\/p>\\n<ul>\\n<li>New: Added option for opting into beta updates.<\\/li>\\n<li>Updated Spanish es_ES language files.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.13, December 9, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Conflict with AffiliateWP REST API<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.12, December 5, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Missing Stripe token error when using Stripe Checkout gateway.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.11, November 29, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Properly show errors on password reset form when errors occur during password resets.<\\/li>\\n<li>Fix: Ensure valid prices are entered the subscription level add\\/edit screen.<\\/li>\\n<li>Fix: Fatal error on Stripe purchases when card fails.<\\/li>\\n<li>Fix: Fatal error when activating the plugin on old, unsupported versions of PHP.<\\/li>\\n<li>Fix: Prevent Account Sharing didn\'t work properly under certain conditions.<\\/li>\\n<li>Fix: Stripe Checkout prevented other payment options from being used if Stripe Checkout was selected first.<\\/li>\\n<li>Fix: Alipay showed on Stripe Checkout even if not enabled.<\\/li>\\n<li>Fix: Incorrect expiration date shown in Active Subscription emails.<\\/li>\\n<li>Fix: PayPal issue where the URL was formatted incorrectly on certain web hosts.<\\/li>\\n<li>Fix: First level not automatically selected on the registration form.<\\/li>\\n<li>Enhancement: Add Swedish translation files.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.10, October 27, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Bug introduced in 2.6.9 that caused some members to not be able to see content they have access to.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.9, October 26, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Alipay option shows in Stripe Checkout on some sites when it\'s disabled.<\\/li>\\n<li>Fix: Expiration date formatted incorrectly on the member edit screen for some sites.<\\/li>\\n<li>Fix: Wrong expiration date showed for some pending members on the Members page.<\\/li>\\n<li>Fix: Comments visible for users without access on some posts when the post was restricted by role only.<\\/li>\\n<li>Fix: Duplicate HTML ID in the profile editor template.<\\/li>\\n<li>Fix: Member status did not get set to pending if upgrading from a free trial to a paid membership when using the Manual Payment gateway.<\\/li>\\n<li>Fix: Member expiration date was incorrectly calculated when upgrading from one membership to another when using the Manual Payment gateway.<\\/li>\\n<li>Fix: Set From Name and From Email headers in the Expiring Soon emails.<\\/li>\\n<li>Fix: Invalid character in SoftDescriptor during registration when using PayPal Pro.<\\/li>\\n<li>Tweak: Pass the discount and subscription ID to the rcp_discounts_once_per_user filter.<\\/li>\\n<li>Enhancement: Added \\\"View User Account\\\" link to payment records on the Payments page.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.8, October 3, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: User registration does not complete when using Stripe Checkout with a 100% discount code.<\\/li>\\n<li>Fix: Unrecognized options in Stripe Checkout.<\\/li>\\n<li>Fix: Cancellation emails were sent twice when a member cancels a subscription.<\\/li>\\n<li>Fix: improve security of all member-facing forms.<\\/li>\\n<li>Tweak: use rcp_get_currency() helper function throughout the plugin instead of direct option calls. Improves compatibility for developers.<\\/li>\\n<li>Enhancement: Send RCP plugin name, version, and your site URL to Stripe when making charges. Useful for debugging issues with Stripe. Stripe refers to this as setAppInfo.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.6.7, September 20, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Tweak: Better error handling for Stripe processing failures<\\/li>\\n<li>Tweak: Improved performance of registration form processing<\\/li>\\n<li>Tweak: Removed \\\"Cancel\\\" button from edit member screen to reduce confusion<\\/li>\\n<li>Tweak: Notice is now displayed when enabling login redirect without a login form on the redirect page<\\/li>\\n<li>Fix: Logos on invoices can extend beyond container<\\/li>\\n<li>Fix: Invalid integer error with Stripe when using discounts<\\/li>\\n<li>Fix: Custom date range not clickable in Reports<\\/li>\\n<li>Fix: Content improperly restricted to free members when using access levels<\\/li>\\n<li>Fix: Incorrect filter name in payment meta DB class<\\/li>\\n<li>Fix: Check if DONOTCACHE page is already defined before defining it<\\/li>\\n<li>Fix: Incorrect capability checked when generating invoice<\\/li>\\n<li>Fix: Member join date not set properly when manually changing a member\'s subscription level<\\/li>\\n<li>Fix: Memory leak on edit member page that could cause session expired notices<\\/li>\\n<li>Fix: [restrict] shortcode improperly restricts to free members<\\/li>\\n<li>Fix: User role not updated when downgrading \\/ upgrading<\\/li>\\n<li>Fix: Subscription level cache not flushed when updating subscription level<\\/li>\\n<li>Fix: Free accounts cannot be registered when 2Checkout gateway is active<\\/li>\\n<\\/ul>\\n<p>Version 2.6.6, August 8, 2016<\\/p>\\n<ul>\\n<li>Fix: Payments not logged with PayPal Pro and PayPal Express when auto-renew is disabled.<\\/li>\\n<li>Fix: Incorrect subscription level selected on the registration form when manually specifying the subscription level ID in the URL.<\\/li>\\n<li>Fix: A subscription level\'s metadata is now deleted when the subcription level is deleted in the admin.<\\/li>\\n<li>Enhancement: Removed the use of PHP extract function from all shortcodes.<\\/li>\\n<li>Enhancement: The rcp_locate_template function now supports registering custom template locations via the rcp_template_stack filter.<\\/li>\\n<li>Enhancement: Added the rcp_available_template_tags action hook to let developers add new email template tags to the Available Template Tags display in the Email settings tab.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.5, August 1, 2016<\\/p>\\n<ul>\\n<li>Fix: Stripe gateway not working properly on some sites. Fixes invalid request errors due to TLS.<\\/li>\\n<li>Fix: \\\"Last Week\\\" earnings report not working properly.<\\/li>\\n<li>Fix: PayPal Pro gateway not working properly on some accounts that do not use automatic renewals.<\\/li>\\n<li>Fix: Issue where paid members could not renew their expired subscriptions on the registration form.<\\/li>\\n<li>Fix: Remove empty spaces from Stripe API keys when saving to prevent copy and paste errors when entering the keys in settings.<\\/li>\\n<li>Fix: Show an error message on registration form if Stripe keys are not entered.<\\/li>\\n<li>Fix: Define CAL_GREGORIAN constant on systems that do not do it already.<\\/li>\\n<li>Fix: Update settings description for Hide Premium Posts.<\\/li>\\n<li>Enhancement: Add Recurring column to member CSV export.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.4, July 26, 2016<\\/p>\\n<ul>\\n<li>Fix: Discounted total calculation bug when discounted total is $1000 or more.<\\/li>\\n<li>Fix: Stripe Checkout missing token error when used with the [register_form] shortcode and the ID option.<\\/li>\\n<li>Fix: Stripe subscription expiration dates improperly extended under certain conditions.<\\/li>\\n<li>Fix: Subscription name blank in emails when the subscription was added manually.<\\/li>\\n<li>Fix: Timezone configurations not always respected when calculating expirations.<\\/li>\\n<li>Fix: Invoices not showing the email address defined in settings.<\\/li>\\n<li>Fix: Registration form error message when a site only has free subscriptions activated.<\\/li>\\n<li>Fix: Auto-fill the email address on the Stripe Checkout form when possible.<\\/li>\\n<li>Enhancement: Added a rcp_is_sandbox helper function for determining if a site is in sandbox mode.<\\/li>\\n<li>Updated: Dutch language files.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.3, July 11, 2016<\\/p>\\n<ul>\\n<li>Fix: Issue with taxonomy restrictions introduced in 2.6.2.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.2, July 11, 2016<\\/p>\\n<ul>\\n<li>Fix: Issue with content restriction interface on post edit screen that caused it to show the improper setting when \\\"Members of any subscription level\\\" was set.<\\/li>\\n<\\/ul>\\n<p>Version 2.6.1, July 8, 2016<\\/p>\\n<ul>\\n<li>Fix: Issue that caused content to be visible when the Paid Only option was used without any other restrictions defined.<\\/li>\\n<li>Fix: Display issue with the new user interface for restricting content.<\\/li>\\n<\\/ul>\\n<p>Version 2.6, July 7, 2016<\\/p>\\n<ul>\\n<li>New: Redesigned user interface for restricting content on posts and pages<\\/li>\\n<li>New: All admin list tables are now fully responsive<\\/li>\\n<li>New: \\u00a0Added contextual tool tips and improved setting descriptions throughout the plugin<\\/li>\\n<li>New: Replaced PDF invoices with HTML invoices, making invoices faster and easier to customize, and also reduced the size of the plugin files significantly<\\/li>\\n<li>New: Comments on restricted content are now automatically hidden from members without necessary access privileges<\\/li>\\n<li>New:\\u00a0A new Add-ons page has been added to the Restrict menu<\\/li>\\n<li>New: Added support for Alipay in Stripe Checkout<\\/li>\\n<li>New: Payment transaction IDs are now linked directly to the merchant processor page<\\/li>\\n<li>New: PayPal customers can now update the credit \\/ debit card attached to their subscription<\\/li>\\n<li>New: Join and renewal dates are now stored in meta data for members<\\/li>\\n<li>New: Added metadata APIs for subscription levels and payments<\\/li>\\n<li>New: Added improved database upgrade API<\\/li>\\n<li>Tweak: Fixed widths have been removed from labels on registration form<\\/li>\\n<li>Tweak: Improved member counts that are significantly faster<\\/li>\\n<li>Tweak: Indexes have been added to all database tables to improve performance<\\/li>\\n<li>Tweak: Stripe API libraries have been updated to the latest version<\\/li>\\n<li>Tweak: Updated French translation<\\/li>\\n<li>Fix: Expiring \\/ renewing soon email\\u00a0not sent to customers that upgrade<\\/li>\\n<li>Fix: \\\"Cannot combine currencies on customer\\\" error in Stripe<\\/li>\\n<li>Fix: \\\"No such plan: false\\\" error in Stripe<\\/li>\\n<li>Fix: Incorrect locale parameter passed to Stripe Checkout<\\/li>\\n<li>Fix: Payment Received emails are sent even when disabled<\\/li>\\n<li>Fix: Payment amount not properly sanitized in PayPal IPN processing<\\/li>\\n<li>Fix: Incorrect support forum link<\\/li>\\n<li>Fix: Pending\\u00a0expiration date shown in subscription.php template file<\\/li>\\n<li>Fix: Coupon codes not created in Stripe when only Stripe Checkout is enabled<\\/li>\\n<li>Fix: Revoke access link does not actually revoke access<\\/li>\\n<li>Fix: &lt;LI&gt; tag cannot be changed in register.php without breaking registration<\\/li>\\n<li>Fix: Editing a discount code results in a duplicate code being created in Stripe<\\/li>\\n<li>Fix: Activate License button missing<\\/li>\\n<li>Fix: Password not validated during Change Password form submission<\\/li>\\n<\\/ul>\\n<p>Version 2.5.4, May 16, 2016<\\/p>\\n<ul>\\n<li>Fix: Missing amount verification during PayPal IPN processing<\\/li>\\n<li>Fix: Incorrect page set for \\\"Update Billing Card Page\\\" during plugin install<\\/li>\\n<li>Fix: Incorrect submit button text shows when using Stripe Checkout and\\u00a0a free level is selected<\\/li>\\n<li>Fix: %subscription_name% email tag returns wrong subscription name when upgrading subscription<\\/li>\\n<li>Fix: Non-translatable strings in PayPal Express Confirmation template<\\/li>\\n<li>Fix: WP cron events not deleted when plugin is uninstalled<\\/li>\\n<li>Tweak: Improved\\u00a0access checks for [restrict] shortcode, including the introduction of a new \\\"rcp_restrict_shortcode_has_access\\\" filter<\\/li>\\n<\\/ul>\\n<p>Version 2.5.3, April 29, 2016<\\/p>\\n<ul>\\n<li>Fix: Missing text domains on strings<\\/li>\\n<li>Fix: One-time charges through Stripe not connected to customer in Stripe<\\/li>\\n<li>Fix: Currency sign on Stripe Checkout modal incorrect when not using USD<\\/li>\\n<li>Fix: Missing text strings in POT file<\\/li>\\n<li>Fix: Formatting problems with amounts over 1000<\\/li>\\n<li>Fix: Unrestricted WooCommerce products get restricted improperly<\\/li>\\n<li>Fix: Previous subscription not always cancelled in merchant processor when upgrading subscription levels<\\/li>\\n<li>Fix: Previous subscription not cancelled when upgrading to one-time payment option<\\/li>\\n<li>Fix: Refunds report introduced in 2.5 accidentally removed<\\/li>\\n<li>New: Added Portuguese translation<\\/li>\\n<\\/ul>\\n<p>Version 2.5.2, April 7, 2016<\\/p>\\n<ul>\\n<li>Fix: Trailing zeros missing from final price on registration form<\\/li>\\n<li>Fix: Incorrect column span on registration form<\\/li>\\n<li>Fix: Incorrect date recorded for some Stripe payments<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.5.1, April 5, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Prorating amounts over 1000 fails<\\/li>\\n<li>Fix: WooCommerce products incorrectly hidden when catalogue visibility is disabled<\\/li>\\n<li>Fix: Nav menus cannot be saved when Restrict Content Pro is active<\\/li>\\n<li>Tweak: Removed Description column in pricing details section of registration form<\\/li>\\n<\\/ul>\\n<p>Version 2.5, March 29, 2016<\\/p>\\n<ul>\\n<li>New: Added support for upgrading and downgrading between subscription levels with proration<\\/li>\\n<li>New: Added improved discount, signup fee, and price display on registration<\\/li>\\n<li>New: Added support for Stripe Checkout<\\/li>\\n<li>New: Improved payment history display on Member details page<\\/li>\\n<li>New: Added a View Member link to payment history rows<\\/li>\\n<li>New: Added a System Info report to aid in technical support<\\/li>\\n<li>New: Added a Refund report to the Reports page<\\/li>\\n<li>New: Added improved support for detecting re-activated subscriptions in Stripe<\\/li>\\n<li>New: Added new shortcodes for displaying membership information of currently logged in member<\\/li>\\n<li>New: Currently stored credit \\/ debit card details now show on card update form<\\/li>\\n<li>New: Content restriction options added to custom taxonomies<\\/li>\\n<li>Fix: Is Recurring flag not set properly on successful\\u00a0but\\u00a0late payments<\\/li>\\n<li>Fix: \\u00a0Initial payments not collected in PayPal Pro gateway<\\/li>\\n<li>Fix: Members not emailed when membership is added manually by site admin<\\/li>\\n<li>Fix: WP Approve User integration improperly disallows access to content with no restrictions<\\/li>\\n<li>Fix: PayPal Express and Pro\\u00a0show an error if the initial amount is less than 0<\\/li>\\n<li>Fix: Zero-decimal currencies not supported properly in Stripe<\\/li>\\n<li>Fix: Incorrect URL to Help page<\\/li>\\n<li>Fix: WooCommerce products still accessible even when restricted<\\/li>\\n<li>Fix: Payment dates do not match up with payment processor<\\/li>\\n<li>Fix: Subscription price not updated in Stripe when updated in Restrict Content Pro<\\/li>\\n<li>Fix:\\u00a0Renewal dates not\\u00a0properly synced with merchant processor when payments are processed<\\/li>\\n<li>Fix: PayPal Express logs the profile ID instead of the transaction ID<\\/li>\\n<\\/ul>\\n<p>Version 2.4.11, February 12, 2016<\\/p>\\n<ul>\\n<li>Fix: PayPal Sandbox rejecting Express and Pro signups due to http version<\\/li>\\n<li>Fix: Recurring payments in 2Checkout not processed properly<\\/li>\\n<li>Tweak: Updated PayPal APIs to version 124<\\/li>\\n<\\/ul>\\n<p>Version 2.4.10, February 7, 2016<\\/p>\\n<ul>\\n<li>Fix: Signup fees reversed in Stripe resulting in credits being given instead of fees<\\/li>\\n<\\/ul>\\n<p>Version 2.4.9, February 2, 2016<\\/p>\\n<ul>\\n<li>Fix: Expiration date not set when a pending date was already set<\\/li>\\n<li>Fix: Custom report ranges that span year boundaries display improperly<\\/li>\\n<li>Fix: Discount codes permitted non-valid amounts to be saved<\\/li>\\n<li>Fix: Subscription levels could be created without a name<\\/li>\\n<li>Fix: HTML emails were not possible due to htmlspecialchars() function<\\/li>\\n<li>New: Added new hooks for when payment processing during signup fails<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.4.8, January 22, 2016<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Duplicate 0.00 transactions with Stripe when using a signup fee<\\/li>\\n<li>Fix: Incorrect expiration dates\\u00a0with registrations through Stripe<\\/li>\\n<\\/ul>\\n<p>Version 2.4.7, December 29, 2015<\\/p>\\n<ul>\\n<li>Fix: Expiration dates incorrectly set after renewing or upgrading an existing account<\\/li>\\n<li>Fix: \\\"Profile Description Invalid\\\" error sometimes in PayPal Express<\\/li>\\n<li>New: Added class names to table columns for the Members table<\\/li>\\n<li>Tweak: Added nocache headers to the lost password processing screens<\\/li>\\n<\\/ul>\\n<p>Version 2.4.6, December 18, 2015<\\/p>\\n<ul>\\n<li>Fix: Apply Discount button was missing from register-single.php template file<\\/li>\\n<li>New: Members can now log in via email<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.4.5, December 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Logged out users shown Account Pending Verification message on all posts and pages<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.4.4, December 10, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Expiration date doubled when members subscribe with PayPal, cancel before completing payment, then subscribe again.<\\/li>\\n<li>Fix: Typo email settings<\\/li>\\n<\\/ul>\\n<p>Version 2.4.3, November 24, 2015<\\/p>\\n<ul>\\n<li>Fix: Bug with upgrading currently active subscriptions<\\/li>\\n<li>Fix: Missing INS processing for 2Checkout<\\/li>\\n<li>Fix: Undefined variable when discount code is not used<\\/li>\\n<li>New: Added action hooks to the top and bottom of the Restrict this Content metabox<\\/li>\\n<li>New: Added filters to the member queries run during\\u00a0cron jobs<\\/li>\\n<\\/ul>\\n<p>Version 2.4.2, November 7, 2015<\\/p>\\n<ul>\\n<li>Fix: Bug with Stripe webhook processing that could prevent account cancellations from working properly when cancelled from Stripe<\\/li>\\n<\\/ul>\\n<p>Version 2.4.1, November 4, 2015<\\/p>\\n<ul>\\n<li>Fix: Discount codes not discounting price in payment gateways<\\/li>\\n<\\/ul>\\n<p>Version 2.4, November 2, 2015<\\/p>\\n<ul>\\n<li>New: Added support for 2Checkout<\\/li>\\n<li>New: Added support for WP Approve User plugin for requiring admins approve user accounts<\\/li>\\n<li>Fix: PayPal payment dates and expiration dates getting out of sync<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.3.8, October 21, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Duplicate active email sent for users that register with a 100% discount code<\\/li>\\n<li>Fix: Active email not sent properly for new registrations<\\/li>\\n<li>Fix: Trial email sent improperly when 100% discount code is used<\\/li>\\n<li>Fix: 100% discount code generates \\\"Free subscriptions cannot be automatically renewed\\\" error<\\/li>\\n<\\/ul>\\n<p>Version 2.3.7, October 21, 2015<\\/p>\\n<ul>\\n<li>Fix: Missing Stripe token error<\\/li>\\n<\\/ul>\\n<p>Version 2.3.6, October 20, 2015<\\/p>\\n<ul>\\n<li>Fix: Active \\/ Welcome emails sent even for non-new accounts<\\/li>\\n<li>Fix: Admin notification after updating payment persists across page loads<\\/li>\\n<li>Fix: Manually created payments do not flush the earnings cache<\\/li>\\n<li>Fix: User search field results shown incorrectly when no results found<\\/li>\\n<li>Fix: Spelling errors across several admin pages<\\/li>\\n<li>Fix: New Subscription emails show incorrect expiration date in some cases<\\/li>\\n<li>Fix: Non-numeric amounts can be entered for payments<\\/li>\\n<li>Fix: Stripe customer credit properly supported now<\\/li>\\n<\\/ul>\\n<p>Version 2.3.5, October 6, 2015<\\/p>\\n<ul>\\n<li>Fix: Expiration date is sometimes shown incorrectly in Payment Received emails<\\/li>\\n<li>Fix: Payment dates not always respecting server\'s timestamp<\\/li>\\n<li>Fix: Undefined index notices when activating\\/deactivating discount codes when Stripe is enabled<\\/li>\\n<li>Fix: Spelling error, \\\"logout\\\" should be \\\"log out\\\"<\\/li>\\n<li>Fix: Spelling error, \\\"Mail Chimp\\\" should be \\\"MailChimp\\\"<\\/li>\\n<li>Fix: Grammar error, \\\"Setup\\\" should be \\\"Set Up\\\"<\\/li>\\n<li>Fix: Incorrect link to documentation<\\/li>\\n<li>Fix: Undefined index notices when settings have not been saved<\\/li>\\n<\\/ul>\\n<p>Version 2.3.4, September 24, 2015<\\/p>\\n<ul>\\n<li>Fix: Variable typo that caused PayPal Standard IPN processing to not work properly<\\/li>\\n<\\/ul>\\n<p>Version 2.3.3, September 22, 2015<\\/p>\\n<ul>\\n<li>Fix: renew() method incorrectly setting member status in some cases<\\/li>\\n<\\/ul>\\n<p>Version 2.3.2, September 22, 2015<\\/p>\\n<ul>\\n<li>Fix: PayPal Express IPNs not being processed properly on all accounts<\\/li>\\n<\\/ul>\\n<p>Version 2.3.1, September 18, 2015<\\/p>\\n<ul>\\n<li>Fix: Reset password URL not working<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.3, September 18, 2015<\\/strong><\\/p>\\n<ul>\\n<li>New: Added the ability to bulk edit member accounts<\\/li>\\n<li>New: Added support for reCaptcha v2.0 from Google<\\/li>\\n<li>New: Added Payment Received email option<\\/li>\\n<li>New: Account, Profile, and Card Update pages are now created automatically during install<\\/li>\\n<li>Fix: account page text is too large in Twenty Fifteen theme<\\/li>\\n<li>Fix: Renew link improperly shown for free members<\\/li>\\n<li>Fix: Last Week earnings not shown properly when it crosses a month boundary<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.7, August 19, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug that caused expiration dates to be set too far in the future during registration.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.6, August 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with negative signup fees and recurring subscriptions in Stripe<\\/li>\\n<li>Fixed a bug that caused declined card errors to not get caught when updating the billing card<\\/li>\\n<li>Added a confirmation message to the Update Billing Card form<\\/li>\\n<\\/ul>\\n<p>Version 2.2.5, August 6, 2015<\\/p>\\n<ul>\\n<li>Fixed a bug with expiration dates getting set too far ahead for customers that register through Stripe<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.4, August 3, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with expiration dates being calculated incorrectly when calculating for a subscription level that never expires<\\/li>\\n<li>Fixed a bug that caused the Active Subscription email to include the wrong expiration date<\\/li>\\n<li>Fixed a bug that caused the Screen Options tab to not save properly<\\/li>\\n<li>Tweak to ensure the member\'s display name is set during registration<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.3, July 20, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed an issue with fatal errors\\u00a0when updating pages that contain the RCP shortcodes on some websites.<\\/li>\\n<li>Updated New User notification emails to contain the user login names<\\/li>\\n<li>Tweak registration form JS to ensure that clicking Register multiple times doesn\'t cause issues<\\/li>\\n<li>Added member status to the member export<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.2.2, July 9, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed an issue with calculating member\'s new expiration date when accounts are renewed.<\\/li>\\n<\\/ul>\\n<p>Version 2.2.1, July 8, 2015<\\/p>\\n<ul>\\n<li>Fixed an issue with WooCommerce products not being shown to registered users<\\/li>\\n<\\/ul>\\n<p>Version 2.2, July 6, 2015<\\/p>\\n<ul>\\n<li>Added support for restricting WooCommerce products<\\/li>\\n<li>Added support for 2-factor authentication through Google Authenticator<\\/li>\\n<li>Added members\' payment profile IDs to member export file<\\/li>\\n<li>Added new action hooks to login form template file<\\/li>\\n<li>Fixed issue with members not being logged in automatically during registration<\\/li>\\n<li>Fixed \\\"unexpected output\\\" during activation<\\/li>\\n<\\/ul>\\n<p>Version 2.1.11, June 18, 2015<\\/p>\\n<ul>\\n<li>Fixed a PHP notice during installation<\\/li>\\n<li>Fixed an issue with discount code validation on single registration forms<\\/li>\\n<li>Fixed an issue with discount codes not being re-validated when the level is changed<\\/li>\\n<li>Fixed an issue with one-time Stripe charges getting attributed to the wrong user<\\/li>\\n<li>Fixed an issue with the Help page not redirecting to the documentation site<\\/li>\\n<\\/ul>\\n<p>Version 2.1.10, May 27, 2015<\\/p>\\n<ul>\\n<li>Fixed an issue with signup fees not working in Stripe<\\/li>\\n<li>Added new useremail template tag for emails<\\/li>\\n<\\/ul>\\n<p>Version 2.1.9, May 27, 2015<\\/p>\\n<ul>\\n<li>Fixed an issue with credit\\/debit card form not displaying if the first level is Free<\\/li>\\n<li>Fixed a fatal error in the PayPal Pro gateway that occurred if API credentials had not been entered<\\/li>\\n<li>Tweaked the card number field to have a max length of 20 characters<\\/li>\\n<li>Tweaked the description text\\u00a0in settings<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.8, May 21, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed an error message when updating discounts with Stripe active<\\/li>\\n<li>Fixed an issue with payment settings disappearing when plugin is reactivated<\\/li>\\n<li>Fixed a typo in the settings page<\\/li>\\n<li>Fixed an issue with email notifications not being sent when accounts are cancelled<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.7, May 21, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with reCaptcha over SSL<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.6, May 13, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a fatal error when updating credit \\/ debit cards in Stripe<\\/li>\\n<li>Fixed a bug that caused the \\\"Active\\\" email to be sent to trial subscribers<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.5, May 12, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with expiration dates on Unlimited plans<\\/li>\\n<li>Fixed a bug with the price not showing up on the single register template<\\/li>\\n<li>Fixed a\\u00a0bug with the Stripe libraries not being loaded if another plugin had already loaded it<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.4, May 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug that caused emails to not be sent to free or trial members.<\\/li>\\n<\\/ul>\\n<p>Version 2.1.3, May 9, 2015<\\/p>\\n<ul>\\n<li>Fixed a bug that caused the credit \\/ debit card form to not be displayed when passing the id=\\\"x\\\" parameter to the register form short code.<\\/li>\\n<\\/ul>\\n<p>Version 2.1.2, May 6, 2015<\\/p>\\n<ul>\\n<li>Fixed a bug that caused PayPal Standard subscriptions to not get activated<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1.1, May 4, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with editing \\/ creating discount codes when the Stripe gateway is inactive<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.1, April 30, 2015<\\/strong><\\/p>\\n<ul>\\n<li><strong>This is a major release. Please see <a href=\\\"https:\\/\\/pippinsplugins.com\\/?p=60420\\\">release post<\\/a> for detailed information.<\\/strong><\\/li>\\n<li>Stripe, PayPal Pro, and PayPal Express now included for free. Braintree integration is also free as an add-on.<\\/li>\\n<li>New payment gateway API for developers to build additional payment processor integrations.<\\/li>\\n<li>New Manual Payment gateway for processing manual payments.<\\/li>\\n<li>Dramatically improved registration form processing.<\\/li>\\n<li>Registration form now submits via ajax and displays error messages without a page \\u00a0reload.<\\/li>\\n<li>Better member cancellation options from member\'s account pages<\\/li>\\n<li>Site admins can now cancel member\'s payment profile from Restrict &gt; Members.<\\/li>\\n<li>Improved and re-organized settings screen.<\\/li>\\n<li>New RCP_Member class for developers.<\\/li>\\n<li>New RCP_Payment_Gateway class for developers.<\\/li>\\n<li>New rcp_user_can_access() function for developers.<\\/li>\\n<li>Numerous other new functions for developers.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.17, April 20, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Minor XSS security fix<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.16, February 11, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a conflict with The Event Calendar plugin<\\/li>\\n<li>Updated the French translation files<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.15, January 29, 2015<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug with signup fees in PayPal over 1,000<\\/li>\\n<li>Updated the plugin updater class<\\/li>\\n<li>Fixed a spelling error<\\/li>\\n<li>Modified the shortcodes include file to always be included<\\/li>\\n<li>Fixed an incorrect user ID variable during the process that adds a manual subscription to a user<\\/li>\\n<li>Introduced\\u00a0rcp_before_subscription_form_fields hook<\\/li>\\n<li>Fixed two method declarations in the WP_Logging class<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.14, November 19, \\u00a02014<\\/strong><\\/p>\\n<ul>\\n<li>Added an option to let non-recurring members renew their access from their account page<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.13, October 29, 2014<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug in the updater that caused update checks to run too often.<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.12, October 21, 2014<\\/strong><\\/p>\\n<ul>\\n<li>Improved plugin updater class<\\/li>\\n<\\/ul>\\n<p>Version 2.0.11, October 7, 2014<\\/p>\\n<ul>\\n<li>Updated language files<\\/li>\\n<\\/ul>\\n<p>Version 2.0.10, October 1, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with adding subscriptions manually to user accounts<\\/li>\\n<\\/ul>\\n<p>Version 2.0.9, August 27, 2014<\\/p>\\n<ul>\\n<li>Updated the Restrict menu icon to use dashicons<\\/li>\\n<li>Automatically add \\/ remove user roles anytime their subscription level is changed in the admin<\\/li>\\n<li>Default the login redirect to the home page<\\/li>\\n<li>Fixed a few typos<\\/li>\\n<li>Added a fallback\\u00a0cal_days_in_month() function for hosts that don\'t have it enabled<\\/li>\\n<\\/ul>\\n<p>Version 2.0.8, August 14, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug \\u00a0with CSS not loading on the subscription details and profile editor short codes<\\/li>\\n<li>Added an Edit Member button to the View Member details screen<\\/li>\\n<li>Improved the Members page filtering and search<\\/li>\\n<li>Added support for setting the From Name and From Email address in Settings &gt; Emails<\\/li>\\n<li>Cancelled members now actually get marked as Cancelled instead of staying as Active and then getting marked as Expired<\\/li>\\n<li>Linked the admin notice on first install to the Restrict &gt; Settings page<\\/li>\\n<li>Fixed an inaccurate field description in settings<\\/li>\\n<li>Improved the license activation process and fixed a bug that prevented license keys from being activated<\\/li>\\n<\\/ul>\\n<p>Version 2.0.7, June 24, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with the Payment Export not including all payments.<\\/li>\\n<\\/ul>\\n<p>Version 2.0.6, June 19, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with payment method forms showing when signing up for a free\\u00a0subscription level<\\/li>\\n<li>Fixed a bug with the discount field showing when signing up for a free subscription level<\\/li>\\n<li>Fixed a bug with the Auto Renew field showing when signing up for a free subscription level<\\/li>\\n<\\/ul>\\n<p>Version 2.0.5, May 20, 2014<\\/p>\\n<ul>\\n<li>Added an option to control the number of members that are exported with the CSV export<\\/li>\\n<li>Fixed a bug with the auto-renew options not showing on individual registration forms<\\/li>\\n<li>Fixed a bug with pending members getting the Expiring Soon notice<\\/li>\\n<li>Added year\\/month options to the Payment CSV export<\\/li>\\n<li>Added an option to manually toggle a member\'s trialing status<\\/li>\\n<li>Fixed a bug with amounts in the PDF Invoices<\\/li>\\n<\\/ul>\\n<p>Version 2.0.4, May 13, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with the wp_editor() used in the Messages section of settings<\\/li>\\n<li>Fixed a bug with user roles not being set properly on registration<\\/li>\\n<\\/ul>\\n<p>Version 2.0.3, May 13, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with discount codes not getting\\u00a0attached to user accounts<\\/li>\\n<li>Fixed a bug with rcp_get_user_role() when the user isn\'t part of the site<\\/li>\\n<\\/ul>\\n<p>Version 2.0.2, April 21, 2014<\\/p>\\n<ul>\\n<li>Fixed a bug with custom registration forms related to the Stripe payment gateway<\\/li>\\n<\\/ul>\\n<p><strong>Version 2.0.1, April 18, 2014<\\/strong><\\/p>\\n<ul>\\n<li>Fixed a bug that caused a fatal error with wp_get_current_user() during certain actions<\\/li>\\n<li>Fixed a bug with the login form redirect on the subscription_details short code<\\/li>\\n<\\/ul>\\n<p><strong>Version<\\/strong> 2.0, April 11, 2014<\\/p>\\n<ul>\\n<li>Added support for PDF Invoices of subscription payments<\\/li>\\n<li>Greatly improved the member\'s subscription details area<\\/li>\\n<li>Added support for custom registration pages with the [register_form id=\\\"x\\\"] short code<\\/li>\\n<li>Added improved caching \\/ performance throughout the plugin, primarily related to subscription level and payment queries<\\/li>\\n<li>Added support for restricting posts based on the category they are filed in<\\/li>\\n<li>Added integration for the Limit Login Attempts plugin<\\/li>\\n<li>Added custom capabilities for all admin pages<\\/li>\\n<li>Added a new setting for PayPal Page Style<\\/li>\\n<li>Added an option to control whether all subscriptions auto renew or not<\\/li>\\n<li>Added new rcp_edit_member hook<\\/li>\\n<li>Added new RCP profile editor hooks<\\/li>\\n<li>Added options to disable each of the emails individually<\\/li>\\n<li>Tweak: improve the way the login form shows when a user is logged in<\\/li>\\n<li>Tweak: properly set the exact time when creating a manual payment<\\/li>\\n<li>Tweak: improve issue with members expiring on the wrong day when signing up on the last day of the month<\\/li>\\n<li>Tweak: always show the registration levels on the registration page<\\/li>\\n<li>Tweak: improved expiration cron jobs<\\/li>\\n<\\/ul>\\n<p>Version 1.9.6, February 5, 2014<br \\/>\\nAdded better support for 100% discount codes and non-PayPal payment gateways.<\\/p>\\n<p>Added better caching to the subscription level database class.<br \\/>\\nVersion 1.9.5, January 21, 2014<\\/p>\\n<ul>\\n<li>Improved validation of the user information when saving the profile form.<\\/li>\\n<li>Fixed a bug that would allow a user to update their email to that of another user.<\\/li>\\n<li>Fixed a bug that would allow a user to completely remove their email.<\\/li>\\n<\\/ul>\\n<p>Version 1.9.4, December 23, 2013<\\/p>\\n<ul>\\n<li>Fixed a bug with the user role not saving when first creating a subscription level<\\/li>\\n<li>Improved the UI of the Cancel buttons in admin headers<\\/li>\\n<li>Added a JS action for rcp_discount_applied<\\/li>\\n<li>Added .rcp_gateway_fields class<\\/li>\\n<\\/ul>\\n<p>Version 1.9.3 - December 9, 2013<\\/p>\\n<ul>\\n<li>Improve reliability of license activation and deactivation<\\/li>\\n<li>Only setup user transients if single-login is enabled<\\/li>\\n<li>Fix bug with Last Month report view when current month is December<\\/li>\\n<li>Rewrite PayPal redirect to make all args filterable<\\/li>\\n<li>Removed erroneous ID attribute<\\/li>\\n<li>Better filters for email messages and receipients<\\/li>\\n<li>Better organization of user level checks<\\/li>\\n<li>Add support for setting the user role on a per-subscription basis<\\/li>\\n<li>Fixed bug with updating subscription levels when no changes were made<\\/li>\\n<li>Improved the expired users cron job<\\/li>\\n<\\/ul>\\n<p>Version 1.9.2 - October 25, 2013<\\/p>\\n<ul>\\n<li>Fixed a bug with payment amounts over 1000<\\/li>\\n<\\/ul>\\n<p>Version 1.9.1 - October 21, 2013<\\/p>\\n<ul>\\n<li>Fixed an undefined index error on the subscription Add New screen.<\\/li>\\n<li>Fixed a bug with the subscription level order getting overwritten when updating a level.<\\/li>\\n<\\/ul>\\n<p>Version 1.9 - October 4, 2013<\\/p>\\n<ul>\\n<li>Added support for signup fees and discounts for subscription levels.<\\/li>\\n<li>Added the ability to search payments.<\\/li>\\n<li>Added payment transaction ID tracking.<\\/li>\\n<\\/ul>\\n<p>Version 1.8.1<\\/p>\\n<ul>\\n<li>Fixed a bug with subscription level duration units not saving correctly.<\\/li>\\n<\\/ul>\\n<p>Version 1.8<\\/p>\\n<ul>\\n<li>Added a brand new Reports page with earnings and signup graphs.<\\/li>\\n<\\/ul>\\n<p>Version 1.7<\\/p>\\n<ul>\\n<li>Added support for manually creating payments.<\\/li>\\n<li>Fixed a bug with \'class\' and other attributes getting stripped from Subscription Level descriptions.<\\/li>\\n<\\/ul>\\n<p>Version 1.6.3<\\/p>\\n<ul>\\n<li>Fixed a bug with the Expiring Soon emails getting sent to recurring subscribers.<\\/li>\\n<\\/ul>\\n<p>Version 1.6.2<\\/p>\\n<ul>\\n<li>Fixed a problem with the discount table creation.<\\/li>\\n<\\/ul>\\n<p>Version 1.6.1<\\/p>\\n<ul>\\n<li>Fixed a problem with the [restrict] short code.<\\/li>\\n<\\/ul>\\n<p>Version 1.6<\\/p>\\n<ul>\\n<li>Added the ability to restrict discount codes to specific subscription levels<\\/li>\\n<li>Added a \\\"Remember Me\\\" checkbox to the login form<\\/li>\\n<li>Added new options to the \\\"Restrict This Content\\\" meta box that allows content to be restricted to multiple subscription levels<\\/li>\\n<li>Non-recurring subscribers can now renew their membership at any time<\\/li>\\n<li>Added new Renewal Notice reminders that can be automatically sent before a user expires.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.7<\\/p>\\n<ul>\\n<li>Fixed a problem with not being able to set subscription durations to higher than 127 days\\/months\\/years.<\\/li>\\n<li>Added Hebrew translation files<\\/li>\\n<\\/ul>\\n<p>Version 1.5.6<\\/p>\\n<ul>\\n<li>Added a new, better plugin updater system. <strong>You MUST enter your license key in the plugin settings to get future updates.<\\/strong><\\/li>\\n<li>Improved the expiration \\/ renewal date text on the Subscription Details short code.<\\/li>\\n<li>Renamed the Payments settings tab to General.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.5<\\/p>\\n<ul>\\n<li>Improved RTL compatibility.<\\/li>\\n<li>Fixed an issue with LI and UL tags getting stripped from subscription level descriptions.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.4<\\/p>\\n<ul>\\n<li>Fixed another issue with UTF8 encoding\\/decoding.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.3<\\/p>\\n<ul>\\n<li>Fixed an issue with UTF8 encoding\\/decoding.<\\/li>\\n<\\/ul>\\n<p>Version 1.5.2<\\/p>\\n<ul>\\n<li>Updated manual update_user_meta() calls for member status to use rcp_set_status()<\\/li>\\n<li>Fixed an additional issue with PayPal payments not getting recorded.<\\/li>\\n<\\/ul>\\n<p>Version .1.5.1<\\/p>\\n<ul>\\n<li>Fixed and issue with PayPal payments not getting recorded.<\\/li>\\n<\\/ul>\\n<p>Version 1.5<\\/p>\\n<ul>\\n<li>New: Trial memberships can now upgrade to paid memberships at any time.<\\/li>\\n<li>New: Site admins can view all pad content.<\\/li>\\n<li>New: Usernames in Restrict &gt; Members are now linked to the user\\\\\'s profile.<\\/li>\\n<li>New: Members can now be searched from Restrict &gt; Members.<\\/li>\\n<li>New: Added a new [rcp_profile_editor] short code.<\\/li>\\n<li>New: Registration, login, change password, and profile editor forms now included template files that can be easily, and safely modified.<\\/li>\\n<li>New: Added an option to delete payments.<\\/li>\\n<li>New: Added an option to view all payments by user.<\\/li>\\n<li>New: Added member first names to user export.<\\/li>\\n<li>New: Rewrote export system to be more flexible and extensible.<\\/li>\\n<li>New: Wrote new database interaction classes to make it easier for extensions to record \\/ modify data.<\\/li>\\n<li>New: Added an option to revent account sharing.<\\/li>\\n<li>New: Added new action hooks.<\\/li>\\n<li>Fix: email field on registration wasn\\\\\'t given a .valid or .error class.<\\/li>\\n<li>Fix: Admin javascript alerts are now localized for translation.<\\/li>\\n<li>Fix: Expiration date could not be left blank.<\\/li>\\n<li>Fix: User expiration dates were not localized.<\\/li>\\n<li>Fix: reCaptcha caused a fatal error if not configured correctly.<\\/li>\\n<li>Fix: stripslashes on subscription level names.<\\/li>\\n<li>Fix: The Upgrade link in [subscription_details] was shown even when only one free subscription level was active.<\\/li>\\n<li>Tweaked: Improved the registration processing function.<\\/li>\\n<li>Tweaked: Improved the default CSS.<\\/li>\\n<\\/ul>\\n<p>Version 1.4.4.2<\\/p>\\n<ul>\\n<li>Added new email tags for %firstname%, %lastname%, and %displayname%.<\\/li>\\n<li>Fixed a bug with the %username% email tag.<\\/li>\\n<\\/ul>\\n<p>Version 1.4.4.1<\\/p>\\n<ul>\\n<li>Fixed a missing parameter error with rcp_count_members()<\\/li>\\n<\\/ul>\\n<p>Version 1.4.4<\\/p>\\n<ul>\\n<li>Introduced new Logs page to view gateway error logs<\\/li>\\n<li>Fixed an error in the PayPal gateway that caused members to not renew correctly<\\/li>\\n<\\/ul>\\n<p>Version 1.4.3<\\/p>\\n<ul>\\n<li>Added new %amount% tag to the email templates<\\/li>\\n<li>Fixed a bug with teh PayPal cancellation link<\\/li>\\n<li>Fixed the subject line of the free email<\\/li>\\n<li>Fixed the %blogname% email template tag<\\/li>\\n<li>Improved file structure and organization<\\/li>\\n<li>Improved code documentation<\\/li>\\n<\\/ul>\\n<p>Version 1.4.2<\\/p>\\n<ul>\\n<li>Fixed a security vulnerability with the function that writes to the database<\\/li>\\n<li>Fixed a bug with setting discount codes to percentage type<\\/li>\\n<li>Fixed a JS bug on the registration form for showing \\/ hiding auto renew and the discount<\\/li>\\n<\\/ul>\\n<p>Version 1.4.1<\\/p>\\n<ul>\\n<li>Forced auto-renew to false when signing up for a forever plan<\\/li>\\n<li>Fixed a bug with wpdb-&gt;prepare()<\\/li>\\n<\\/ul>\\n<p>Version 1.4<\\/p>\\n<ul>\\n<li>Renamed Redirect page to Success page<\\/li>\\n<li>Added new rcp_is_paid_content filter<\\/li>\\n<li>Added a new logging system for tracking payment gateway errors<\\/li>\\n<li>Fixed issues with $wpdb-&gt;prepare() notices<\\/li>\\n<li>Made \\\"View Details\\\" always visible on the Users page<\\/li>\\n<li>Improved data sanitization<\\/li>\\n<li>Added a new notice when a user is updated<\\/li>\\n<li>Added new feature for \\\"User Notes\\\"<\\/li>\\n<li>Improved default CSS<\\/li>\\n<li>Added Arabic language files<\\/li>\\n<li>Added Portuguese language files<\\/li>\\n<li>Added new rcp_redirect_from_wp_login() function<\\/li>\\n<li>Removed user-registration-enabled check for the registration form<\\/li>\\n<\\/ul>\\n<p>Version 1.3.3<\\/p>\\n<ul>\\n<li>Updated default language files.<\\/li>\\n<li>Fixed some missing text domains.<\\/li>\\n<li>Fixed a double slash in script URLs.<\\/li>\\n<li>Improved the function that checks to see if a payment has been recorded yet.<\\/li>\\n<li>Added a function to ensure RCP can be network activated.<\\/li>\\n<li>Fixed problem with HTML in subscription level descriptions.<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2.3<\\/p>\\n<ul>\\n<li>Added new rcp_pre_edit_discount action<\\/li>\\n<li>Improved data sanitization for discount codes<\\/li>\\n<li>Added new rcp_pre_add_discount hook<\\/li>\\n<li>Added Spanish translation files<\\/li>\\n<li>Added new rcp_show_subscription_level() function for determing if a level should be shown on the signup form<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2.2<\\/p>\\n<ul>\\n<li>Fixed a bug with a white screen after free signups<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2.1<\\/p>\\n<ul>\\n<li>Fixed a small bug with subscription lengths<\\/li>\\n<\\/ul>\\n<p>Version 1.3.2<\\/p>\\n<ul>\\n<li>Moved reCaptcha to a new rcp_show_captcha() function so it can be more easily modified<\\/li>\\n<li>Added new \\\"rcp_return_url\\\" filter so that the URL users are returned to can be more easily modified<\\/li>\\n<li>Fixed several potential security flaws<\\/li>\\n<li>Improved data validation and sanitization throughout the plugin<\\/li>\\n<li>Improved internationalization of date formats<\\/li>\\n<li>Fixed a problem with restricting to free users and access levels at the same time<\\/li>\\n<li>Added do_shortcode() to teaser messages so that they render short codes<\\/li>\\n<li>Improved documentation and help text throughout the plugin<\\/li>\\n<li>Added new \\\"rcp_access_levels\\\" filter for modifying the available access levels<\\/li>\\n<li>Fixed some broken images in the Help page<\\/li>\\n<li>Updated French language files<\\/li>\\n<li>Fixed a problem with calculating users first expiration date that caused members to expire before their renewing payment was made<\\/li>\\n<li>Added new \\\"rcp_errors_before\\\" and \\\"rcp_errors_after\\\" for adding content before\\/after error messages are displayed<\\/li>\\n<li>Improved the functions that calculate a discounted price<\\/li>\\n<li>Added a new function for storing discount codes in user\\\\\'s meta<\\/li>\\n<li>Added new registration-functions.php and performed significant code cleanup<\\/li>\\n<li>Added a new filter \\\"rcp_default_user_level\\\" for the default user role given to members on signup<\\/li>\\n<\\/ul>\\n<p>Version 1.3.1.1<\\/p>\\n<ul>\\n<li>Fixed a problem with allow furl_open<\\/li>\\n<\\/ul>\\n<p>Version 1.3.1<\\/p>\\n<ul>\\n<li>Fixed a bug with the auto updater<\\/li>\\n<li>Replaced a global with a constant<\\/li>\\n<li>Fixed a bug with expired users cron jobs<\\/li>\\n<\\/ul>\\n<p>Version 1.3<\\/p>\\n<ul>\\n<li>Documentated conflict with object caching<\\/li>\\n<li>Improved the email setting labels<\\/li>\\n<li>Hid the payment gateway checkboxes unless more than one gateway is available<\\/li>\\n<li>Added new rcp_get_currencies() function that can be filtered to allow more currencies<\\/li>\\n<li>Dramatically improved the rcp_curreny_filter() function with filters for other plugins to use to customize currency display<\\/li>\\n<li>Added new meta key for storing the PayPal recurring payment ID<\\/li>\\n<li>Improved security checks in IPN listener<\\/li>\\n<li>Fixed incorrect email address in IPN email log<\\/li>\\n<li>Added an option to disable IPN verification from PayPal<\\/li>\\n<li>Fixed the code prettifier in the help page<\\/li>\\n<li>Fixed a problem with the expired users cron job and users with no expiration date<\\/li>\\n<li>Fixed a bug with subscription level IDs in the registration form<\\/li>\\n<li>Fixed incorrect variable in rcp_set_status<\\/li>\\n<li>Added unique ID to each subscription level in the registration form<\\/li>\\n<li>Made default user level filterable<\\/li>\\n<li>Rewrote the settings page to follow the WP core UI<\\/li>\\n<li>Fixed a problem with the update notifier<\\/li>\\n<li>Improved the Paid Only option label to make it more clear<\\/li>\\n<li>Added a new filter to the meta box fields array to allow extra fields to be added<\\/li>\\n<li>Improved front end JS<\\/li>\\n<li>Added new filter to the rcp_excerpt_by_id() function<\\/li>\\n<li>Added Polish language files<\\/li>\\n<li>DIscount code input now gets hidden when a free subscription level is selected<\\/li>\\n<li>Added improved number formatting<\\/li>\\n<li>Improved rcp_get_members()<\\/li>\\n<li>Replaced custom SQL query with rcp_get_subscription_levels()<\\/li>\\n<li>Fixed problems with sorting users by subscription level<\\/li>\\n<\\/ul>\\n<p>Version 1.2.4<\\/p>\\n<ul>\\n<li>Added an ID to the discount codes P tag on the registration form<\\/li>\\n<li>Fixed a security flaw in the signup process that created a way for users to get access to premium content for free<\\/li>\\n<li>Registration fields now retain their information on submission error<\\/li>\\n<li>Fixed a missing argument in rcp_log_user_in()<\\/li>\\n<li>Fixed a problem with the function that calculates the discounted price<\\/li>\\n<li>Made discounts active by default<\\/li>\\n<li>Added some additional hooks to PayPal gateway<\\/li>\\n<li>Added an option to cancel subscription from the [subscription_details] shortcode for new signups<\\/li>\\n<li>Minor improvements to the PayPal gateway<\\/li>\\n<\\/ul>\\n<p>Version 1.2.3<\\/p>\\n<ul>\\n<li>Made some improvements to the PayPal verification to help prevent verification failures<\\/li>\\n<li>Updated default language files<\\/li>\\n<li>Fixed a problem with the JS that hides the auto renew option when a free subscription is selected<\\/li>\\n<li>Added new option to disable admin notifications<\\/li>\\n<li>Added an option to export free users<\\/li>\\n<li>Fixed the level query arg for auto plan selection<\\/li>\\n<\\/ul>\\n<p>Version 1.2.2<\\/p>\\n<ul>\\n<li>Fixed a bug with the user expiration cron job that sends out expiration notices<\\/li>\\n<\\/ul>\\n<p>Version 1.2.1<\\/p>\\n<ul>\\n<li>Fixed a couple of minor bugs with the user page columns<\\/li>\\n<li>Changed \\\"Free\\\" to 0 in the rcp_currency_filter() function<\\/li>\\n<li>Removed the IPN error log option<\\/li>\\n<li>Added tax=0 to the PayPal redirect<\\/li>\\n<li>Updated the login form to auto redirect to the current page<\\/li>\\n<li>Added JS to hide the auto renew option when a free subscription is selected<\\/li>\\n<li>Improved markup of the subscription details short code<\\/li>\\n<li>Added support for the Turkish Lira currency<\\/li>\\n<li>Moved load_plugin_textdomain() to an init hooked function<\\/li>\\n<li>Added action hooks and filters to the PayPal listener<\\/li>\\n<\\/ul>\\n<p>Version 1.2.0<\\/p>\\n<ul>\\n<li>Fixed a bug that caused bad encoding of apostrophes in the email \\\"From\\\" name.<\\/li>\\n<li>Fixed a bug that prevented admins from manually adding subscriptions to users.<\\/li>\\n<li>A few minor code improvements.<\\/li>\\n<li>Improved file organization.<\\/li>\\n<li>Updated language files.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.9<\\/p>\\n<ul>\\n<li>Updated the default language files to include new strings for translation.<\\/li>\\n<li>Added do_action() hooks to the add\\/edit subscription level functions.<\\/li>\\n<li>Improved the payment gateway system.<\\/li>\\n<li>Added ajaxed live search to the \\\"Add New Subscription\\\" form.<\\/li>\\n<li>Fixed a bug with the PayPal Sandbox mode<\\/li>\\n<\\/ul>\\n<p>Version 1.1.8<\\/p>\\n<ul>\\n<li>Fixed a bug that caused non-active members to have an expiration date of 1970 in the [subscription_details] shortcode.<\\/li>\\n<li>Improved the registration form CSS slightly.<\\/li>\\n<li>Added a new advanced query arg that can be used on the Members page in the admin for displaying all members that signed up live vs. those that were added by admins.<\\/li>\\n<li>Added missed jQuery UI theme images for the datepicker.<\\/li>\\n<li>Fixed the double message problem with admin alert emails.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.7.2<\\/p>\\n<ul>\\n<li>Fixed a formatting bug with the discounts table when no codes have been created yet.<\\/li>\\n<li>Fixed a formatting bug with the subscriptions levels table when no levels have been created yet.<\\/li>\\n<li>Fixed the data type of the payment\\\\\'s table \\\"amount\\\" column.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.7.1<\\/p>\\n<ul>\\n<li>Fixed a bug that caused the cron job added in the previous version to run constantly.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.7<\\/p>\\n<ul>\\n<li>Added a cron job that checks for expired users every day and sends an email to the user when they have expired.<\\/li>\\n<li>Fixed a bug were subscription access levels were reset to 0 when editing.<\\/li>\\n<li>Fixed a few issues with utf8 encoding.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.6<\\/p>\\n<ul>\\n<li>Added a meta box option for restricting content based upon the subscription level.<\\/li>\\n<li>Added a \\\"subscription=ID\\\" parameter to the [restrict] short code for limiting content to specific subscription levels.<\\/li>\\n<li>Updated Help page with information about access levels and restricting to subscription levels.<\\/li>\\n<li>Improved some admin CSS and jQuery loading.<\\/li>\\n<li>Improved the layout of the \\\"Restrict this Content\\\" metabox so that it can now be placed in the side column.<\\/li>\\n<li>Added new demonstration videos to the Help page on how to restrict content.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.5<\\/p>\\n<ul>\\n<li>Moved the \\\"members per page\\\" and \\\"payments per page\\\" to the screen options tab.<\\/li>\\n<li>Added FAQs to the Help page.<\\/li>\\n<li>Added a div.rcp-payment-history around the user\\\\\'s payment history.<\\/li>\\n<li>Added missing class attribute to \\\"no payments recorded\\\" message in the [subscription_details] shortcode.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.4<\\/p>\\n<ul>\\n<li>Added support for access level restriction on free content.<\\/li>\\n<li>Added do_shortcode() to the [is_not_paid] short code.<\\/li>\\n<li>Made the first subscription level checked by default on the registration page.<\\/li>\\n<li>Added missing HTML element classes to the registration form.<\\/li>\\n<\\/ul>\\n<p>Version 1.1.3<\\/p>\\n<ul>\\n<li>Released the Math Verification add-on: http:\\/\\/codecanyon.net\\/item\\/restrict-content-pro-math-verification\\/1876095<\\/li>\\n<li>Fixed an undefined variable bug in the front end JS.<\\/li>\\n<li>Added option to redirect default WP login URL to custom page.<\\/li>\\n<li>Added and in-dashboard plugin updater so that new releases can be updated to automatically from Wordpress.<\\/li>\\n<li>Fixed a bug with the \\\"Hide Premium Posts\\\" option.<\\/li>\\n<\\/ul>\\n\"]}\";}','yes'),(270171,'widget_media_audio','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(270172,'widget_media_image','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(270173,'widget_media_video','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(274100,'rcp_last_checkin','1610180994','no'),(280794,'widget_media_gallery','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(309040,'dlm_page_cart','','yes'),(309041,'dlm_page_checkout','','yes'),(309042,'dlm_base_country','US','yes'),(309043,'dlm_currency','USD','yes'),(309044,'dlm_currency_pos','left','yes'),(309045,'dlm_decimal_separator','.','yes'),(309046,'dlm_thousand_separator',',','yes'),(309047,'dlm_disable_cart','','yes'),(309048,'dlm_default_gateway','paypal','yes'),(309049,'dlm_gateway_paypal_enabled','0','yes'),(309050,'dlm_gateway_paypal_invoice_prefix','','yes'),(309051,'dlm_gateway_paypal_client_id','','yes'),(309052,'dlm_gateway_paypal_client_secret','','yes'),(309053,'dlm_gateway_paypal_sandbox_enabled','0','yes'),(309054,'dlm_gateway_paypal_sandbox_client_id','','yes'),(309055,'dlm_gateway_paypal_sandbox_client_secret','','yes'),(309056,'dlm_gateway_test_enabled','0','yes'),(310563,'w3tc_generic_widgetservices','{\"content\":{\"items\":[{\"name\":\"Premium Support Response (Usually <1h First Response)\",\"parameter_name\":\"field4\",\"parameter_value\":\"Premium Support Response (Usually <1h First Response)\",\"form_hash\":\"m5pom8z0qy59rm\"},{\"name\":\"Performance Audit \\/ Consult (Theme, Plugin, Content, Server)\",\"parameter_name\":\"field4\",\"parameter_value\":\"Performance Audit \\/ Consult (Theme, Plugin, Content, Server)\",\"form_hash\":\"m5pom8z0qy59rm\"},{\"name\":\"Plugin Configuration\",\"parameter_name\":\"field4\",\"parameter_value\":\"Plugin Configuration\",\"form_hash\":\"m5pom8z0qy59rm\"},{\"name\":\"SSL Performance Setup\",\"parameter_name\":\"field4\",\"parameter_value\":\"SSL Performance Setup\",\"form_hash\":\"m5pom8z0qy59rm\"},{\"name\":\"Full Site Delivery Setup\",\"parameter_name\":\"field4\",\"parameter_value\":\"Full Site Delivery Setup\",\"form_hash\":\"m5pom8z0qy59rm\"},{\"name\":\"Hosting Environment Troubleshooting\",\"parameter_name\":\"field4\",\"parameter_value\":\"Hosting Environment Troubleshooting\",\"form_hash\":\"m5pom8z0qy59rm\"},{\"name\":\"Performance Monitoring\",\"parameter_name\":\"field4\",\"parameter_value\":\"Performance Monitoring\",\"form_hash\":\"m5pom8z0qy59rm\"}],\"ui_strings\":{\"cdn.maxcdn.signUpAndSave\":\"Sign Up Now and save !\",\"cdn.maxcdn.signUpAndSave.description\":\"MaxCDN is a service that lets you speed up your site even more with W3 Total Cache. Sign up now to recieve a special offer!\",\"cdn.stackpath.signUpAndSave\":\"Sign Up Now and save !\",\"cdn.stackpath.signUpAndSave.description\":\"StackPath is a service that lets you speed up your site even more with W3 Total Cache. Sign up now and save!\",\"cdn.stackpath2.signUpAndSave\":\"Sign Up Now and save !\",\"cdn.stackpath2.signUpAndSave.description\":\"StackPath is a service that lets you speed up your site even more with W3 Total Cache. Sign up now to recieve a special offer!\",\"minify.general.header\":\"Reduce load time by decreasing the size and number of <acronym title=\'Cascading Style Sheet\'>CSS<\\/acronym> and <acronym title=\'JavaScript\'>JS<\\/acronym> files. Automatically remove unncessary data from <acronym title=\'Cascading Style Sheet\'>CSS<\\/acronym>, <acronym title=\'JavaScript\'>JS<\\/acronym>, feed, page and post <acronym title=\'Hypertext Markup Language\'>HTML<\\/acronym>.\",\"newrelic.general.header\":\"New Relic may not be installed or not active on this server. <a href=\'%s\' target=\'_blank\'>Sign up for a (free) account<\\/a>. Visit <a href=\'%s\' target=\'_blank\'>New Relic<\\/a> for installation instructions.\",\"reverseproxy.general.header\":\"A reverse proxy adds scale to an server by handling requests before WordPress does. Purge settings are set on the <a href=\'%s\'>Page Cache settings<\\/a> page and <a href=\'%s\'>Browser Cache settings<\\/a> are set on the browser cache settings page.\",\"cdnfsd.general.header\":\"Host the entire website with your compatible <acronym title=\'Content Delivery Network\'>CDN<\\/acronym> provider to reduce page load time.\",\"cdn.general.header\":\"Host static files with your <acronym title=\'Content Delivery Network\'>CDN<\\/acronym> to reduce page load time.\",\"cdn.stackpath.widget.existing\":\"If you\'re an existing StackPath customer, enable <acronym title=\'Content Delivery Network\'>CDN<\\/acronym> and:\",\"cdn.stackpath2.widget.existing\":\"If you\'re an existing StackPath customer, enable <acronym title=\'Content Delivery Network\'>CDN<\\/acronym> and:\",\"cdn.stackpath2.widget.works_magically\":\"StackPath works magically with W3 Total Cache.\",\"cdn.stackpath.widget.header\":\"Dramatically increase website speeds in just a few clicks! Add the StackPath content delivery network (<acronym title=\'Content Delivery Network\'>CDN<\\/acronym>) service to your site.\",\"cdn.stackpath2.widget.header\":\"Dramatically increase website speeds in just a few clicks! Add the StackPath content delivery network (<acronym title=\'Content Delivery Network\'>CDN<\\/acronym>) service to your site.\"}},\"expires\":1552890840}','no'),(310539,'theme_mods_twentynineteen','a:2:{s:18:\"nav_menu_locations\";a:1:{s:6:\"menu-1\";i:8;}s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1552278657;s:4:\"data\";a:3:{s:19:\"wp_inactive_widgets\";a:2:{i:0;s:10:\"nav_menu-6\";i:1;s:6:\"text-2\";}s:9:\"sidebar-1\";a:2:{i:0;s:10:\"nav_menu-3\";i:1;s:10:\"nav_menu-4\";}s:18:\"smartslider_area_1\";a:0:{}}}}','yes'),(300165,'ewww_image_optimizer_metadata_remove','1','no'),(300166,'exactdn_lossy','1','no'),(289500,'widget_smartslider3','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(290372,'dlm_pa_search_results_page','8207','yes'),(290375,'dlm-page-addon-license','a:3:{s:3:\"key\";s:19:\"7FBC-F7C1-7CB0-4599\";s:5:\"email\";s:14:\"uswork@aol.com\";s:6:\"status\";s:6:\"active\";}','yes'),(289511,'ms_hide_all_ads_until','1531491545','yes'),(289512,'metaslider_systemcheck','a:2:{s:16:\"wordPressVersion\";b:0;s:12:\"imageLibrary\";b:0;}','no'),(289697,'w3tc_state','{\"common.install\":1530538294,\"wordpress_seo.hide_note_suggest_activation\":\"true\",\"common.next_support_us_invitation\":1580027806,\"common.support_us_invitations\":4,\"common.show_note.flush_statics_needed\":false,\"common.show_note.flush_statics_needed.timestamp\":1573580478,\"common.show_note.flush_posts_needed\":false,\"common.show_note.flush_posts_needed.timestamp\":1577435892,\"common.show_note.plugins_updated\":true,\"common.show_note.plugins_updated.timestamp\":1601702493,\"minify.show_note.need_flush\":false,\"minify.show_note.need_flush.timestamp\":1573580478,\"objectcache.show_note.flush_needed\":false,\"objectcache.show_note.flush_needed.timestamp\":1573580478,\"license.status\":\"no_key\",\"license.next_check\":1602990449,\"license.terms\":\"\",\"license.community_terms\":\"accept\"}','no'),(289701,'w3tc_nr_application_id','{\"d41d8cd98f00b204e9800998ecf8427e\":0}','yes'),(289499,'n2_ss3_version','3.3.21r4359','yes'),(288820,'dlm_logging_ua','1','yes'),(288821,'dlm_logging_ip_type','full','yes'),(288910,'tml_login_type','username','no'),(288914,'_tml_version','7.0.3','no'),(284097,'dlm_lu_needs_upgrading','0','yes'),(289513,'ml-slider_children','a:0:{}','yes'),(363585,'searchwp_waiting','','no'),(311661,'ewww_image_optimizer_debug','','yes'),(311666,'ewww_image_optimizer_noauto','','yes'),(311667,'ewww_image_optimizer_disable_editor','','yes'),(311668,'ewww_image_optimizer_exactdn','','yes'),(311669,'ewww_image_optimizer_lazy_load','','yes'),(311670,'ewww_image_optimizer_webp_for_cdn','','yes'),(290402,'dlm_hash_desc','','yes'),(303835,'ewww_image_optimizer_relative_migration_status','done','yes'),(310029,'wp_page_for_privacy_policy','0','yes'),(310030,'show_comments_cookies_opt_in','1','yes'),(318660,'recovery_keys','a:0:{}','yes'),(332301,'7bbb183ff054d8fc234e0a58eab50b03','a:2:{s:7:\"timeout\";i:1610497215;s:5:\"value\";s:69195:\"{\"new_version\":\"3.4.4\",\"stable_version\":\"3.4.4\",\"name\":\"Restrict Content Pro\",\"slug\":\"restrict-content-pro\",\"url\":\"https:\\/\\/restrictcontentpro.com\\/downloads\\/restrict-content-pro\\/?changelog=1\",\"last_updated\":\"2020-10-19 12:59:38\",\"homepage\":\"https:\\/\\/restrictcontentpro.com\\/downloads\\/restrict-content-pro\\/\",\"package\":\"https:\\/\\/restrictcontentpro.com\\/edd-sl\\/package_download\\/MTYxMDc1MjgxNTpkNmM5NWJkZDM2NDhmNjk3NjcwODkxMTYzOGZhNDk2ZDo0Nzk6NzViYzVlZDFmNzkzZmRmOTBjYjk4NzAyNjMxOTE1YWM6aHR0cHNALy91c3dvcmt3b3JsZC5jb206MA==\",\"download_link\":\"https:\\/\\/restrictcontentpro.com\\/edd-sl\\/package_download\\/MTYxMDc1MjgxNTpkNmM5NWJkZDM2NDhmNjk3NjcwODkxMTYzOGZhNDk2ZDo0Nzk6NzViYzVlZDFmNzkzZmRmOTBjYjk4NzAyNjMxOTE1YWM6aHR0cHNALy91c3dvcmt3b3JsZC5jb206MA==\",\"sections\":{\"description\":\"\",\"changelog\":\"<p>Version 3.4.4, October 13, 2020<\\/p>\\n<ul>\\n<li>Update: Updating the minified js for includes\\/js\\/registration.js<\\/li>\\n<\\/ul>\\n<p>Version 3.4.3, September 30, 2020<\\/p>\\n<ul>\\n<li>Major Change: Set session cookies instead of using wp_signon during registration. The wp_login hook will no longer fire after a user is registered.<\\/li>\\n<li>Tweak: Add action to perform custom validation for Password Resets.<\\/li>\\n<li>Tweak: Add filter to conditionally disable login hijacking.<\\/li>\\n<li>Tweak: Add API to allow for asynchronous Promise-based registration validation.<\\/li>\\n<li>Refactor: Remove old updater API calls.<\\/li>\\n<li>Log: Adding License Logging<\\/li>\\n<\\/ul>\\n<p>Version 3.4.2, September 30, 2020<\\/p>\\n<ul>\\n<li>Fix: French Translation update<\\/li>\\n<li>Fix: Spanish Translation update<\\/li>\\n<li>Fix: Membership Levels fix for both sorting the levels and the number that can be displayed.<\\/li>\\n<li>Update: Removing old License key field, label, and notification.<\\/li>\\n<li>Fix: Braintree and Stripe had dates being formatted with the incorrect format.<\\/li>\\n<li>Fix: RCP settings page was not defaulting to the selected tab after saving form.<\\/li>\\n<\\/ul>\\n<p>Version 3.4, September 8, 2020<\\/p>\\n<ul>\\n<li>Fix: WooCommerce Products can be incorrectly restricted if a user hasn\'t verified their email address.<\\/li>\\n<li>New: Added new actions hooks to Membership page before and after payments table. \'rcp_membership_details_before_payments\' and \'rcp_membership_details_after_payments\'<\\/li>\\n<li>Fix: Able to save invalid configuration with 0 duration and payment plan.<\\/li>\\n<li>New: Introduced action hook that runs after membership is updated via admin. \'rpc_after_membership_admin_update\'<\\/li>\\n<li>New: Created new filter on price for RCP Group Accounts User Specified Count Quantity<\\/li>\\n<li>Fix: Removed \'ba-bbq\' library to fix Javascript error in WordPress 5.5<\\/li>\\n<li>Fix: Some columns were missing from Membership Levels after updating from 2.x to 3.4.<\\/li>\\n<li>Improvement: Update to Danish Translation.<\\/li>\\n<li>Fix: Polish Currency Code formatting<\\/li>\\n<li>Fix: Bulk actions don\'t work when using non-English languages.<\\/li>\\n<li>Improvement: Option to apply discounts to signup fees<\\/li>\\n<li>Improvement: Move Membership Level to BerlinDB<\\/li>\\n<li>Fix: Incorrect expiration date when renewing an existing membership.<\\/li>\\n<li>Improvement: Update to French Translation<\\/li>\\n<li>Improvement: Update some BerlinDB bas classes<\\/li>\\n<li>New: Add ability to toggle auto renew off\\/on [Stripe]<\\/li>\\n<li>Improvement: Add ability to export all members at once.<\\/li>\\n<li>Fix: Unable to save backslashes in the databases<\\/li>\\n<li>New: Logs Table<\\/li>\\n<li>New: Add payments importer tool<\\/li>\\n<li>Improvement: Stop using \'000-00-00 00:00:00\' as default date values<\\/li>\\n<li>Improvement: Add database table version numbers to system info file<\\/li>\\n<li>New: Add Component Registry<\\/li>\\n<li>Fix: CSS was removed in order to remove the breaking style from admin pages.<\\/li>\\n<li>Fix: use \\\"jQuery\\\" instead of \\\"$\\\".<\\/li>\\n<li>Improvement: %member_id% template tag description change<\\/li>\\n<li>Improvement: Capitalize first letter in card brand on the update card form page.<\\/li>\\n<li>Improvement: [rcp_update_card] shortcode did not work with editing multiple memberships.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.13, September 1, 2020<\\/strong><\\/p>\\n<ul>\\n<li>New: Added new updater.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.12, June 22, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Security Fix: Improve customer IP address validation &amp; escaping.<\\/li>\\n<li>Fix: Include\\u00a0$membership\\u00a0argument in renewal payment failed email filters. This fixes some problems with Per-Level Emails not working with this email template.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.11, May 4, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: reCAPTCHA now works with\\u00a0[register_form_stripe]. This also fixed a problem where the\\u00a0[register_form_stripe]\\u00a0form wasn\'t able to be submitted at all if reCAPTCHA was enabled.<\\/li>\\n<li>Fix: Two strings missing the\\u00a0rcp\\u00a0text domain, which prevented them from being translated.<\\/li>\\n<li>Fix: Adjust how base object class is set up to prevent unnecessary unserializing.<\\/li>\\n<li>Fix: Add whitelists to queries in RCP_Levels\\u00a0database class to prevent ordering by columns that don\'t exist.<\\/li>\\n<li>Translations: All translation files have been synced with the source code. This will add any missing strings.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.10, April 6, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Memberships still shown as trialing if a customer renews their membership before the trial expires. Now the trialling flag is removed as soon as the first payment comes in, even if it\'s done early.<\\/li>\\n<li>Fix: Braintree class fatal error when using RCP\'s Braintree gateway alongside other plugins using the same Braintree library.<\\/li>\\n<li>Fix: The\\u00a0administrator\\u00a0user role is now never removed, even if the administrator role was granted by the membership level.<\\/li>\\n<li>Tweak: Added version number to composer.json file.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.9, March 23, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: subscription.php<\\/li>\\n<li>New: Add filters on admin Payment Received email message and subject.\\u00a0rcp_payment_received_admin_email\\u00a0and\\u00a0rcp_email_payment_received_admin_subject.<\\/li>\\n<li>New: Add\\u00a0user_id\\u00a0column to memberships table. This helps provide a more direct connection between a membership record and the corresponding user account. This data will be automatically backfilled when accessed.<\\/li>\\n<li>New: Add\\u00a0get_payment_id()\\u00a0public method to\\u00a0RCP_Emails\\u00a0class.<\\/li>\\n<li>Improvement: Add JavaScript confirmation to \\\"Cancel\\\" link on admin memberships table.<\\/li>\\n<li>Improvement: Automatically retry failed payment after Stripe billing card is updated.<\\/li>\\n<li>Improvement: Add more detail to \\\"can cancel\\\" debug log message to explain why it might be \\\"false\\\".<\\/li>\\n<li>Improvement: Include all method parameters in\\u00a0rcp_registration_get_recurring_total\\u00a0filter.<\\/li>\\n<li>Improvement: Rework handling in 3.0 migration for people who attempt the migration multiple times. This helps better ensure all migrated data is brand new and not \\\"stale\\\" from the previous attempt.<\\/li>\\n<li>Improvement: Adjust membership level \\\"Status\\\" description to clarify the difference between active and inactive membership levels.<\\/li>\\n<li>Improvement: Introduce\\u00a0rcp_transition_customer_email_verification\\u00a0hook. This hook is now used for triggering email verification emails.<\\/li>\\n<li>Improvement: Add\\u00a0$payment_event\\u00a0parameter to\\u00a0rcp_stripe_webhook_membership\\u00a0filter.<\\/li>\\n<li>Improvement:\\u00a0subscription.php\\u00a0template - Give upgrade link a new class (rcp_sub_details_change_membership) so it\'s not the same as the renew link.<\\/li>\\n<li>Fix: \\\"Complete Payment\\\" feature not working - form gets stuck on \\\"Please Wait...\\\"<\\/li>\\n<li>Fix: RCP duplicating Google Authenticator plugin\'s admin settings.<\\/li>\\n<li>Fix: Invalid integer error while processing failed payment emails.<\\/li>\\n<li>Fix: Ensure RCP\'s new membership expiration date is always at least 2 hours after Stripe\'s reported\\u00a0current_period_end\\u00a0on automatic renewals. This allows time for Stripe\'s 1-hour window between invoice generation and payment.<\\/li>\\n<li>Fix: Rework old discounts database table upgrades from the 3.0.0 update to ensure they all run correctly and in order. This protects against a possible error about the\\u00a0subscription_id\\u00a0column not existing.<\\/li>\\n<li>Fix: Unable to update Stripe billing card if the subscription wasn\'t originally created by RCP.<\\/li>\\n<li>Fix: CSV importer reporting incorrect row numbers after the first batch.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.8, February 12, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: PHP 5.6 error due to use of type hinting.<\\/li>\\n<li>Fix: Check if\\u00a0wp_is_site_initialized()\\u00a0exists before using to prevent errors in WordPress versions below 5.1.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.7, February 11, 2020<\\/strong><\\/p>\\n<ul>\\n<li>New: Introduced new filter\\u00a0rcp_is_rcp_admin_page. RCP scripts and styles are enqueued when this returns\\u00a0true\\u00a0so third party plugins can use this filter to load RCP scripts and styles on their own pages.<\\/li>\\n<li>Improvement:\\u00a0$_POST\\u00a0data is now available during\\u00a0rcp_validate_registration_state\\u00a0ajax action.<\\/li>\\n<li>Fix: MySQL errors on multisite when\\u00a0switch_blog\\u00a0action runs for the first time after new sites are created but before the database tables are created.<\\/li>\\n<li>Fix: If a customers database table upgrade runs a second time it throws an error.<\\/li>\\n<li>Fix: Improve logic on Stripe subscription creation dates to better protect against failures with non-standard billing cycles.<\\/li>\\n<li>Fix: Add checks in case the\\u00a0one_time\\u00a0column is missing from the discounts database table, and add it in if so. This error could occur when upgrading from a very old version.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.6, January 30, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Subscription creation failed with monthly memberships if next month has fewer days than this month.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.5, January 29, 2020<\\/strong><\\/p>\\n<ul>\\n<li>New: Added\\u00a0rcp_registration_page_url\\u00a0filter.<\\/li>\\n<li>Improvement: Customers can now update their Stripe cards if they do not have a recurring membership. Note: if a non-recurring customer does this, updating their billing card does not actually create a recurring subscription.<\\/li>\\n<li>Fix:\\u00a0rcp_is_active() can incorrectly return false when multiple memberships are enabled and the user has one membership that is not active, but another one that is.<\\/li>\\n<li>Fix: Correct plugin header to use\\u00a0Plugin URI\\u00a0instead of\\u00a0Plugin URL.<\\/li>\\n<li>Fix: Date calculation error with \\\"walking expiration dates\\\". This caused incorrect dates being calculated for yearly memberships that began on the 29th, 30th, or 31st of any month.<\\/li>\\n<li>Fix: Membership counts cron job not running due to incorrect query argument.<\\/li>\\n<li>Fix: reCAPTCHA v3 could fail if the registration form was submitted multiple times by the same user. (Example: first attempt their card payment failed, so they tried again within the same page load.)<\\/li>\\n<li>Fix: Adjust how RCP matches Stripe webhook to a membership to ensure that RCP doesn\'t process webhooks for any plugins.<\\/li>\\n<li>Tweak: Add membership note whenever a membership is manually edited.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.4, January 23, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Update Stripe and Braintree gateways to \\\"soft fail\\\" after all <em>essential<\\/em>\\u00a0actions have been taken. For example: if initial payment is successful but setting up the subscription fails, then registration is still deemed \\\"successful\\\" (whereas previously it would have been marked as a failure). In this case, membership is still activated but auto renew is disabled and a note is added to indicate the subscription creation failure.<\\/li>\\n<li>Improvement: Add help next next to email reminders to clarify the difference between Expiration &amp; Renewal reminders.<\\/li>\\n<li>Fix: Convert\\u00a0stripe_checkout\\u00a0gateway to\\u00a0stripe\\u00a0in membership records.<\\/li>\\n<li>Fix:\\u00a0RCP_Membership::enable()\\u00a0not enabling the membership. This caused a problem where memberships were not getting assigned when someone attempted to register, had their card declined, then tried again successfully.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.3, January 15, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Add\\u00a0$discounts\\u00a0and\\u00a0$fees\\u00a0method arguments to\\u00a0rcp_registration_get_total\\u00a0filter.<\\/li>\\n<li>Fix: Incorrect calculation in expiration date when accounting for walking dates used by PayPal. This could have caused some memberships in RCP to expire a day or two before the PayPal renewal charge went through.<\\/li>\\n<li>Fix: Ensure we never pass a\\u00a00\\u00a0user_id to our\\u00a0rcp_user_has_{status}_membership\\u00a0filters. Instead a\\u00a00 user_id is converted to the current user ID, which was the intention.<\\/li>\\n<li>Fix: Protect against fatal errors in Memberships admin UI if you somehow have a membership record associated with a since-deleted customer \\/ user.<\\/li>\\n<li>Fix: Adjust parameters on email reminder query to set\\u00a0inclusive\\u00a0to\\u00a0true. This fixes a problem where memberships that expired at certain times may not have been included.<\\/li>\\n<li>Fix: Use existing hidden field for registration payment ID instead of appending a new field to the form.<\\/li>\\n<li>Fix: Braintree - do not send\\u00a0threeDSecure.amount\\u00a0parameter if 3D secure is not enabled on the account. This fixes registration issues with Braintree accounts that do not have 3D secure enabled.<\\/li>\\n<li>Fix: Payment subtotal incorrectly set to\\u00a00\\u00a0when adding a payment via Restrict &gt; Payments &gt; Add New.<\\/li>\\n<li>Fix: Check for required fields in\\u00a0rcp_add_customer()\\u00a0function to prevent PHP notices when those fields are not included.<\\/li>\\n<li>Fix: Enabling payment plans on a level that already has memberships that were created without a payment plan causes those memberships to complete the payment plan earlier than they should. With this fix, existing memberships will continue to be treated as if they do not have a payment plan at all.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.2, January 8, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: login.php<\\/li>\\n<li>New: Add limiting on failed payment reminder emails. This protects against issues we\'ve seen where PayPal sends an excessive number of failed payment IPNs. These emails are now limited to a maximum of one email per membership per 20 hour period; and a total of 5 emails per membership. The counters reset once a successful payment has been made.<\\/li>\\n<li>Tweak: Update Stripe integration to use\\u00a0billing_cycle_anchor\\u00a0parameter instead of\\u00a0trial_end\\u00a0where possible. This fixes MRR reporting inconsistencies in Stripe.<\\/li>\\n<li>Tweak: Removed \\\"RCP:\\\" prefix from Stripe one-time payment description.<\\/li>\\n<li>Tweak: Change log in form username label to \\\"Username or Email\\\".<\\/li>\\n<li>Tweak: Update Italian translation.<\\/li>\\n<li>Tweak: Update Spanish translation.<\\/li>\\n<li>Fix: Stripe renewals have unexpected results when manually renewing an expired membership that still has a \\\"past due\\\" (not cancelled) subscription inside Stripe.<\\/li>\\n<li>Fix: Password resets not working with object caching.<\\/li>\\n<li>Fix: Curly quotes in Spanish translation file breaking links.<\\/li>\\n<li>Fix: Potential Heuristics.Phishing.Email.SpoofedDomain false positive in certain language files due to poorly formatted developer.paypal.com link.<\\/li>\\n<li>Fix: Incorrect query parameter in expiration reminder query arguments, which may result in some people not receiving reminder emails if their expiration time is not 23:59:59.<\\/li>\\n<li>Fix: Ensure all URL query arguments are URL encoded.<\\/li>\\n<li>Fix: Trialling users not receiving expiration reminders when they qualify.<\\/li>\\n<li>Fix: If \\\"Disable Global Stripe.js\\\" is enabled, then Stripe card update page no longer works.<\\/li>\\n<li>Fix: Add checks to prevent\\u00a0rcp_check_member_counts()\\u00a0cron job from running more than once per day.<\\/li>\\n<li>Fix: Memberships that never expire incorrectly getting picked up in\\u00a0rcp_check_for_expired_users()\\u00a0query. Note: this did not result in people incorrectly receiving expiration emails, it just meant the query was larger than it needed to be, which could have performance impacts on extremely large sites.<\\/li>\\n<li>Fix: Unable to save null values to database, which could impact the customer\\u00a0has_trialed\\u00a0flag value.<\\/li>\\n<li>Fix: Admin email notifications may contain the incorrect membership level name if multiple memberships is enabled.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.1, December 16, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Added new email template tags for %membership_renew_url%\\u00a0and\\u00a0%membership_change_url%.<\\/li>\\n<li>New: Add a date filter to the admin Payments page.<\\/li>\\n<li>Improvement: Added new membership column for activated_date. This gets set when a membership is activated.<\\/li>\\n<li>Improvement: Updated Spanish translation.<\\/li>\\n<li>Improvement: On install, the default pages are now assigned to the currently logged in user.<\\/li>\\n<li>Improvement: Reject discount code if it\'s one-time and attempted to be applied to a free trial. Previously, the discount was still not applied, but the user was not actually informed of this. Now we show a clear error message informing the user that the discount didn\'t work.<\\/li>\\n<li>Improvement: Adjust one-time discounts setting to clarify it doesn\'t work with free trials.<\\/li>\\n<li>Improvement: Change \\\"Upgraded From\\\" label on Membership Details to \\\"Changed From\\\".<\\/li>\\n<li>Improvement: Add subscription key to admin Membership Details page.<\\/li>\\n<li>Improvement: Move rcp_process_member_cancellation\\u00a0hook down a couple lines to ensure our note gets added prior to that hook running.<\\/li>\\n<li>Fix: Stripe modal not working in IE11.<\\/li>\\n<li>Fix: Inelegant Stripe error when no cardholder name is supplied while updating billing card. We now show a nicer looking error if the field is empty.<\\/li>\\n<li>Fix: test_calculate_expiration()\\u00a0unit test failing due to setting expiration date to one in the past.<\\/li>\\n<li>Fix: Admin unable to manually change a membership\'s level if the other levels are deactivated.<\\/li>\\n<li>Fix: Unable to manually renew a free trial level prior to its expiration.<\\/li>\\n<li>Fix: Database table version numbers were not being removed from wp_options on uninstall.<\\/li>\\n<li>Fix: \\\"Hide Premium Posts\\\" query modification was overriding existing post__not_in\\u00a0value. Now they get merged.<\\/li>\\n<li>Fix: Under certain circumstances, admin payments table was incorrectly showing \\\"User #123\\u00a0(deleted)\\\" as the customer name when the user hadn\'t actually been deleted.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3, December 10, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New template file: card-update-form-fields.php<\\/li>\\n<li>Modified template files: card-update-form.php, register-total-details.php<\\/li>\\n<li>New: Added support for using saved Stripe cards for new purchases.<\\/li>\\n<li>New: Updated the Braintree SDK, added support for the drop-in UI, and added support for 3D secure.<\\/li>\\n<li>New: Added support for reCAPTCHA v3. This can be enabled in Restrict \\u2192 Settings \\u2192 Misc by changing the version number. You will also need to generate v3 keys.<\\/li>\\n<li>New: When in test mode, test credit card numbers are now displayed in the registration form for supported gateways. This allows for easier and faster testing. This can optionally be disabled with this filter: add_filter( \'rcp_show_test_card_on_registration\', \'__return_false\' );<\\/li>\\n<li>New: Added RCP_GATEWAY_SANDBOX_MODE constant. This allows you to force sandbox mode to always be enabled. Recommended on staging sites.<\\/li>\\n<li>New: The membership next renewal date is now displayed in the registration form.<\\/li>\\n<li>Improvement: Attempt to auto-style the Stripe Elements field, using styles on existing on-site checkout fields.<\\/li>\\n<li>Improvement: Our discounts database code has been rewritten to use our new custom table engine. This resulted in a number of discount classes being deprecated and new classes\\/functions being introduced. All changes should be fully backwards compatible.<\\/li>\\n<li>Improvement: Code changes that allow for payment gateways to override the card update form.<\\/li>\\n<li>Fix: If someone applies a one-time 100% off discount code and does not sign up with auto renew, their expiration date is incorrectly set to \\u201cnever expires\\u201d.<\\/li>\\n<li>Fix: Always set the type attribute on all admin text input fields. This fixes a display inconsistency in WordPress 5.3+.<\\/li>\\n<li>Fix: Invalid HTML markup with Stripe Elements.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.3, October 7, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified templates: subscription.php<\\/li>\\n<li>New: Added the ability to recover pending and failed payments. A \\\"Complete Payment\\\" link has been added to the list of payments on the\\u00a0[subscription_details]\\u00a0shortcode.<\\/li>\\n<li>Tweak: Added terms\\/privacy checkboxes to\\u00a0[register_form_stripe]\\u00a0shortcode if enabled. This also fixed an issue where the shortcode was validating for these checkboxes but not displaying them.<\\/li>\\n<li>Tweak: CSV Importer: improve CSV mime type detection.<\\/li>\\n<li>Tweak: CSV Importer: if incorrect file type is detected, include the detected file type in the error message.<\\/li>\\n<li>Tweak: Localize Stripe error messages that occur via JavaScript. Also add a new filter\\u00a0rcp_stripe_error_messages\\u00a0to allow these error messages to be modified.<\\/li>\\n<li>Tweak: Include original Stripe error message if we don\'t have our own localized version.<\\/li>\\n<li>Tweak: Show admin notice if manual membership cancellation fails.<\\/li>\\n<li>Fix: Sign up fees not being applied if someone attempts a payment, doesn\'t complete it, then tries a second time. This typically only occurred with the PayPal gateway, which allows you to not complete a payment in progress.<\\/li>\\n<li>Fix:\\u00a0Heuristics.Phishing.Email.SpoofedDomain\\u00a0false positive from virus scanners, due to us making a link to\\u00a0developer.paypal.com, which actually led to our documentation on how to use that site to get API credentials.<\\/li>\\n<li>Fix: Add missing try\\/catch block during certain Stripe operations.<\\/li>\\n<li>Fix: Correct formatting on\\u00a0sprintf()\\u00a0functions.<\\/li>\\n<li>Fix: Undefined property errors while updating pending payments via cron job.<\\/li>\\n<li>Fix: Under certain circumstances, RCP was incorrectly creating a second Stripe customer record.<\\/li>\\n<li>Fix: Stripe webhook conflicts when RCP is installed on two separate sites but both use the same Stripe account.<\\/li>\\n<li>Fix: Remove\\u00a0admin_url()\\u00a0base from\\u00a0rcp_get_invoice_url()\\u00a0function. In certain edge cases this was resulting in\\u00a0admin_url()\\u00a0being included in email notifications.<\\/li>\\n<li>Fix: Update WP_User display name when editing Customer first\\/last name via Customer Details page.<\\/li>\\n<li>Fix: Email verification link not working when using plain text emails.<\\/li>\\n<li>Fix: CSV Importer - use email as the username if username is omitted from the CSV file.<\\/li>\\n<li>Fix: Recurring fees not being properly passed to payment gateway during registration.<\\/li>\\n<li>Fix: Do not apply prorated credits when multiple memberships are enabled and registering via\\u00a0[register_form_stripe].<\\/li>\\n<li>Fix: \\\"Renews automatically\\\" incorrectly displaying on\\u00a0[subscription_details]\\u00a0shortcode for inactive memberships.<\\/li>\\n<li>Fix:\\u00a0rcp_get_user_payments()\\u00a0was returning all user payments if the current user was logged out. It now returns an empty array.<\\/li>\\n<li>Fix: Display issues on admin payments table on mobile devices.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.2, September 17, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Updated French translation.<\\/li>\\n<li>Improvement: Display clearer error messages when there\'s a problem adding a discount code.<\\/li>\\n<li>Fix: Registration type changing mid-registration, which could impact signup fees with some gateways.<\\/li>\\n<li>Fix: Stripe invalid request error when someone with a non-recurring Stripe membership visits the page containing the\\u00a0[rcp_update_card]\\u00a0shortcode.<\\/li>\\n<li>Fix: Incorrect use of\\u00a0date_i18n()\\u00a0instead of\\u00a0date()\\u00a0when saving payment dates via webhooks.<\\/li>\\n<li>Fix: Filter the password reset URL to use the designated RCP login form when \\\"Redirect Default Login URL\\\" is enabled.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.1, September 12, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Incorrect Stripe subscription start date if a member manually renews a membership prior to expiration and the initial payment hasn\'t yet been fully captured at the time the subscription is created.<\\/li>\\n<li>Fix: Unable to process free membership if Stripe is the selected payment gateway.<\\/li>\\n<li>Fix: Registration errors when a customer has a membership for a level that has been deleted.<\\/li>\\n<li>Fix: Missing\\u00a0rcp_stripe_signup_payment_failed\\u00a0action when initial Stripe payment fails.<\\/li>\\n<li>Tweak: Update\\u00a0rcp_is_trialing()\\u00a0function to remove use of deprecated class.<\\/li>\\n<li>Tweak: Include RCP upgrade date and \\\"upgraded from\\\" version in system info report.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2, September 10, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Important: Stripe Checkout gateway has been removed. If you\\u2019re using it, you will automatically be changed over to our normal Stripe gateway, which uses Stripe Elements. The [register_form_stripe] shortcode still functions, but it may look different.<\\/li>\\n<li>New: Updated the Stripe gateway to use Payment Intents API. This complies with SCA regulations.<\\/li>\\n<li>New: Stripe card declined notices now appear inline and no longer require a page refresh.<\\/li>\\n<li>New: Added\\u00a0%update_billing_card_url%\\u00a0template tag, which serves as a direct link to the \\u201cupdate billing card\\u201d page for the membership associated with the user\\u2019s most recent payment. Recommended for use in the Renewal Payment Failed email.<\\/li>\\n<li>Tweak: Changes to registration form JavaScript. Initial membership processing is now handled via ajax. Testing is recommended if you have custom code that interacts with the registration JavaScript.<\\/li>\\n<li>Tweak: The first payment in a Stripe subscription is now always a one-time charge. The subscription is created with a delayed start date (until the next billing cycle).<\\/li>\\n<li>Tweak: Stripe gateway no longer uses Stripe Coupon codes. Instead, new plans are created for each duration\\/amount combination.<\\/li>\\n<li>Tweak: Stripe gateway no longer handles signup fees via customer account balance. They are incorporated into an initial one-time charge that handles the first payment.<\\/li>\\n<li>Tweak: The\\u00a0rcp_stripe_charge_create_args\\u00a0filter is now deprecated and replaced with\\u00a0rcp_stripe_create_payment_intent_args. This is due to replacing the Charges API with the Payment Intents API. Some arguments may now differ.<\\/li>\\n<li>Tweak: Stripe error messages are now able to be translated.<\\/li>\\n<li>Fix: Stripe gateway doesn\\u2019t use the \\u201crecurring_price\\u201d that\\u2019s passed into the gateway class.<\\/li>\\n<li>Fix: Stripe incorrectly applying one-time discounts after a free trial.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1.2, August 22, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: An admin notice will be displayed if you have the Stripe Checkout gateway enabled, explaining that the gateway will be removed in RCP version 3.2 due to SCA regulations. Read more here:\\u00a0<a href=\\\"https:\\/\\/docs.restrictcontentpro.com\\/article\\/1552-stripe-checkout\\\" rel=\\\"nofollow\\\">https:\\/\\/docs.restrictcontentpro.com\\/article\\/1552-stripe-checkout<\\/a><\\/li>\\n<li>New: Added a\\u00a0date_completed\\u00a0column to the\\u00a0wp_rcp_queue\\u00a0table.<\\/li>\\n<li>New: Unauthorized users are now redirected away from category archive pages if the category is restricted. (Requires that Hide Restricted Posts be checked on.)<\\/li>\\n<li>New: Allow filtering by both level and status on Restrict &gt; Memberships page. Note: you must choose a status filter first, then you can change the membership level.<\\/li>\\n<li>New: Add support for a\\u00a0redirect\\u00a0query arg when generating a\\u00a0resend_verification\\u00a0link.<\\/li>\\n<li>New: Add \\\"Status\\\" dropdown to the \\\"add payment\\\" form on the admin Membership Details page.<\\/li>\\n<li>Tweak: Moved\\u00a0_rcp_reminder_sent_*\\u00a0user meta to membership meta.<\\/li>\\n<li>Tweak: Adjust Redirect Default Login URL setting description to convey that the\\u00a0[login_form]\\u00a0shortcode is required on the page and not optional.<\\/li>\\n<li>Fix: Free trial incorrectly granted again under certain circumstances.<\\/li>\\n<li>Fix: If a customer signs up for a one-time payment membership and does not complete payment, they are unable to try again. (Usually only seen with the PayPal payment gateway.)<\\/li>\\n<li>Fix: CSV import not setting correct password for new users.<\\/li>\\n<li>Fix: CSV import missing old\\u00a0rcp_user_import_user_added\\u00a0action hook.<\\/li>\\n<li>Fix: Incorrect ajax parameter used for error message when uploading a CSV import file fails.<\\/li>\\n<li>Fix: Don\'t show an error message on\\u00a0[rcp_update_card]\\u00a0shortcode if the current user does not have a membership at all.<\\/li>\\n<li>Fix: Ensure that\\u00a0free\\u00a0membership status is always converted to\\u00a0active\\u00a0(backwards compatibility with pre-3.0).<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1.1, July 31, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Add message to\\u00a0[rcp_update_card]\\u00a0shortcode when a user is unable to update their card details.<\\/li>\\n<li>New: Add action\\u00a0rcp_edit_customer_after_memberships_section\\u00a0to Customer Details page, allowing third party plugins to add a whole new customer section.<\\/li>\\n<li>New: On Customer Details page, display whether or not the customer has trialled before.<\\/li>\\n<li>Tweak: Add a space between the Norwegian Krone currency symbol and the price (previous:\\u00a010kr\\u00a0new:\\u00a010 kr).<\\/li>\\n<li>Tweak: Removed the 2-day grace period on the expiration cron job. Use this custom code if you want to add it back in:\\u00a0<a href=\\\"https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-add-expiration-grace-period.php\\\">https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-add-expiration-grace-period.php<\\/a><\\/li>\\n<li>Tweak: Include RCP payment ID in Stripe one-time charge metadata.<\\/li>\\n<li>Fix: Generate a new subscription key on renewals if existing one is blank. This fixes a problem with renewals not activating via PayPal if the existing membership didn\'t have a subscription key (which might be the case if the membership was imported).<\\/li>\\n<li>Fix: EDD Downloads not showing excerpts to users without access if excerpts are globally enabled.<\\/li>\\n<li>Fix: Under certain circumstances, deactivated membership levels can be renewed when they shouldn\'t be able to. If you want to allow deactivated levels to be renewed, use the\\u00a0rcp_can_renew_deactivated_membership_levels\\u00a0filter. Example:\\u00a0<a href=\\\"https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-renew-deactivated-levels.php\\\">https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-renew-deactivated-levels.php<\\/a><\\/li>\\n<li>Fix: Expiration emails being sent when creating a new membership with the \\\"expired\\\" status.<\\/li>\\n<li>Fix: reCAPTCHA errors when using [register_form_stripe].<\\/li>\\n<li>Fix: Registration not working in Internet Explorer due to JavaScript\\u00a0assign()\\u00a0error.<\\/li>\\n<li>Fix: Stop using\\u00a0date_i18n()\\u00a0in database datetime validation.<\\/li>\\n<li>Fix: Pending payment ID can be incorrect if someone attempts a payment multiple times for the same membership.<\\/li>\\n<li>Fix: 3.0 migration - check for and show clear error if the user being migrated doesn\'t exist (due to orphaned user meta).<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1, July 17, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: card-update-form.php, paypal-express-confirm.php, register-single.php, register.php, subscription.php.<\\/li>\\n<li>New: Add support for multiple active memberships per customer.<\\/li>\\n<li>New (WARNING): Authorize.net has been removed from core and moved to a separate add-on. The new add-on can be installed here: <a href=\\\"https:\\/\\/wordpress.org\\/plugins\\/rcp-authorize-net\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">https:\\/\\/wordpress.org\\/plugins\\/rcp-authorize-net\\/<\\/a><\\/li>\\n<li>New: One-time discounts can now be configured on a per-discount basis rather than globally.<\\/li>\\n<li>New: Stripe gateway has been updated to use Stripe Elements.<\\/li>\\n<li>New: CSV user import tool now available in Restrict &gt; Tools &gt; Import.<\\/li>\\n<li>New: Added WP-CLI integration.<\\/li>\\n<li>New: Expiration and renewal notices can now be limited to certain membership levels only.<\\/li>\\n<li>New: Added support for bulk adding memberships to existing users from the Users table.<\\/li>\\n<li>New: Added \\\"payment received\\\" email template for admins.<\\/li>\\n<li>New: Use WP_List_Table for all admin table pages.<\\/li>\\n<li>New: Add default email template content on new installs.<\\/li>\\n<li>New: Log all payment events in the customer notes.<\\/li>\\n<li>New: Send customer name in Stripe API request.<\\/li>\\n<li>New: Add payment meta and membership level meta functions.<\\/li>\\n<li>New: Signup fees are no longer applied when manually renewing an existing membership.<\\/li>\\n<li>New: Stripe gateway tested with API version\\u00a02019-05-16.<\\/li>\\n<li>Tweak: Stop unchecking \\\"auto renew\\\" when a membership expires.<\\/li>\\n<li>Tweak: All translation files have been updated from plugin source code.<\\/li>\\n<li>Tweak: Updated plugin author name and URL.<\\/li>\\n<li>Fix: RCP datepicker styles affecting other plugin datepickers.<\\/li>\\n<li>Fix: Reduce the three RCP membership columns on the Users table to one single \\\"Membership\\\" column. This reduces database queries and improves loading time on this page.<\\/li>\\n<li>Fix: Payments are now only recorded via webhooks\\/IPNs if we can match the payment to a very specific RCP membership. This resolves issues if the same PayPal account is used for multiple different products and one customer is involved in both products.<\\/li>\\n<\\/ul>\\n<p>https:\\/\\/restrictcontentpro.com\\/downloads\\/restrict-content-pro\\/changelog<\\/p>\\n\"},\"banners\":{\"high\":\"\",\"low\":\"\"},\"icons\":\"a:0:{}\",\"description\":[\"\"],\"changelog\":[\"<p>Version 3.4.4, October 13, 2020<\\/p>\\n<ul>\\n<li>Update: Updating the minified js for includes\\/js\\/registration.js<\\/li>\\n<\\/ul>\\n<p>Version 3.4.3, September 30, 2020<\\/p>\\n<ul>\\n<li>Major Change: Set session cookies instead of using wp_signon during registration. The wp_login hook will no longer fire after a user is registered.<\\/li>\\n<li>Tweak: Add action to perform custom validation for Password Resets.<\\/li>\\n<li>Tweak: Add filter to conditionally disable login hijacking.<\\/li>\\n<li>Tweak: Add API to allow for asynchronous Promise-based registration validation.<\\/li>\\n<li>Refactor: Remove old updater API calls.<\\/li>\\n<li>Log: Adding License Logging<\\/li>\\n<\\/ul>\\n<p>Version 3.4.2, September 30, 2020<\\/p>\\n<ul>\\n<li>Fix: French Translation update<\\/li>\\n<li>Fix: Spanish Translation update<\\/li>\\n<li>Fix: Membership Levels fix for both sorting the levels and the number that can be displayed.<\\/li>\\n<li>Update: Removing old License key field, label, and notification.<\\/li>\\n<li>Fix: Braintree and Stripe had dates being formatted with the incorrect format.<\\/li>\\n<li>Fix: RCP settings page was not defaulting to the selected tab after saving form.<\\/li>\\n<\\/ul>\\n<p>Version 3.4, September 8, 2020<\\/p>\\n<ul>\\n<li>Fix: WooCommerce Products can be incorrectly restricted if a user hasn\'t verified their email address.<\\/li>\\n<li>New: Added new actions hooks to Membership page before and after payments table. \'rcp_membership_details_before_payments\' and \'rcp_membership_details_after_payments\'<\\/li>\\n<li>Fix: Able to save invalid configuration with 0 duration and payment plan.<\\/li>\\n<li>New: Introduced action hook that runs after membership is updated via admin. \'rpc_after_membership_admin_update\'<\\/li>\\n<li>New: Created new filter on price for RCP Group Accounts User Specified Count Quantity<\\/li>\\n<li>Fix: Removed \'ba-bbq\' library to fix Javascript error in WordPress 5.5<\\/li>\\n<li>Fix: Some columns were missing from Membership Levels after updating from 2.x to 3.4.<\\/li>\\n<li>Improvement: Update to Danish Translation.<\\/li>\\n<li>Fix: Polish Currency Code formatting<\\/li>\\n<li>Fix: Bulk actions don\'t work when using non-English languages.<\\/li>\\n<li>Improvement: Option to apply discounts to signup fees<\\/li>\\n<li>Improvement: Move Membership Level to BerlinDB<\\/li>\\n<li>Fix: Incorrect expiration date when renewing an existing membership.<\\/li>\\n<li>Improvement: Update to French Translation<\\/li>\\n<li>Improvement: Update some BerlinDB bas classes<\\/li>\\n<li>New: Add ability to toggle auto renew off\\/on [Stripe]<\\/li>\\n<li>Improvement: Add ability to export all members at once.<\\/li>\\n<li>Fix: Unable to save backslashes in the databases<\\/li>\\n<li>New: Logs Table<\\/li>\\n<li>New: Add payments importer tool<\\/li>\\n<li>Improvement: Stop using \'000-00-00 00:00:00\' as default date values<\\/li>\\n<li>Improvement: Add database table version numbers to system info file<\\/li>\\n<li>New: Add Component Registry<\\/li>\\n<li>Fix: CSS was removed in order to remove the breaking style from admin pages.<\\/li>\\n<li>Fix: use \\\"jQuery\\\" instead of \\\"$\\\".<\\/li>\\n<li>Improvement: %member_id% template tag description change<\\/li>\\n<li>Improvement: Capitalize first letter in card brand on the update card form page.<\\/li>\\n<li>Improvement: [rcp_update_card] shortcode did not work with editing multiple memberships.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.13, September 1, 2020<\\/strong><\\/p>\\n<ul>\\n<li>New: Added new updater.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.12, June 22, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Security Fix: Improve customer IP address validation &amp; escaping.<\\/li>\\n<li>Fix: Include\\u00a0$membership\\u00a0argument in renewal payment failed email filters. This fixes some problems with Per-Level Emails not working with this email template.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.11, May 4, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: reCAPTCHA now works with\\u00a0[register_form_stripe]. This also fixed a problem where the\\u00a0[register_form_stripe]\\u00a0form wasn\'t able to be submitted at all if reCAPTCHA was enabled.<\\/li>\\n<li>Fix: Two strings missing the\\u00a0rcp\\u00a0text domain, which prevented them from being translated.<\\/li>\\n<li>Fix: Adjust how base object class is set up to prevent unnecessary unserializing.<\\/li>\\n<li>Fix: Add whitelists to queries in RCP_Levels\\u00a0database class to prevent ordering by columns that don\'t exist.<\\/li>\\n<li>Translations: All translation files have been synced with the source code. This will add any missing strings.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.10, April 6, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Memberships still shown as trialing if a customer renews their membership before the trial expires. Now the trialling flag is removed as soon as the first payment comes in, even if it\'s done early.<\\/li>\\n<li>Fix: Braintree class fatal error when using RCP\'s Braintree gateway alongside other plugins using the same Braintree library.<\\/li>\\n<li>Fix: The\\u00a0administrator\\u00a0user role is now never removed, even if the administrator role was granted by the membership level.<\\/li>\\n<li>Tweak: Added version number to composer.json file.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.9, March 23, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: subscription.php<\\/li>\\n<li>New: Add filters on admin Payment Received email message and subject.\\u00a0rcp_payment_received_admin_email\\u00a0and\\u00a0rcp_email_payment_received_admin_subject.<\\/li>\\n<li>New: Add\\u00a0user_id\\u00a0column to memberships table. This helps provide a more direct connection between a membership record and the corresponding user account. This data will be automatically backfilled when accessed.<\\/li>\\n<li>New: Add\\u00a0get_payment_id()\\u00a0public method to\\u00a0RCP_Emails\\u00a0class.<\\/li>\\n<li>Improvement: Add JavaScript confirmation to \\\"Cancel\\\" link on admin memberships table.<\\/li>\\n<li>Improvement: Automatically retry failed payment after Stripe billing card is updated.<\\/li>\\n<li>Improvement: Add more detail to \\\"can cancel\\\" debug log message to explain why it might be \\\"false\\\".<\\/li>\\n<li>Improvement: Include all method parameters in\\u00a0rcp_registration_get_recurring_total\\u00a0filter.<\\/li>\\n<li>Improvement: Rework handling in 3.0 migration for people who attempt the migration multiple times. This helps better ensure all migrated data is brand new and not \\\"stale\\\" from the previous attempt.<\\/li>\\n<li>Improvement: Adjust membership level \\\"Status\\\" description to clarify the difference between active and inactive membership levels.<\\/li>\\n<li>Improvement: Introduce\\u00a0rcp_transition_customer_email_verification\\u00a0hook. This hook is now used for triggering email verification emails.<\\/li>\\n<li>Improvement: Add\\u00a0$payment_event\\u00a0parameter to\\u00a0rcp_stripe_webhook_membership\\u00a0filter.<\\/li>\\n<li>Improvement:\\u00a0subscription.php\\u00a0template - Give upgrade link a new class (rcp_sub_details_change_membership) so it\'s not the same as the renew link.<\\/li>\\n<li>Fix: \\\"Complete Payment\\\" feature not working - form gets stuck on \\\"Please Wait...\\\"<\\/li>\\n<li>Fix: RCP duplicating Google Authenticator plugin\'s admin settings.<\\/li>\\n<li>Fix: Invalid integer error while processing failed payment emails.<\\/li>\\n<li>Fix: Ensure RCP\'s new membership expiration date is always at least 2 hours after Stripe\'s reported\\u00a0current_period_end\\u00a0on automatic renewals. This allows time for Stripe\'s 1-hour window between invoice generation and payment.<\\/li>\\n<li>Fix: Rework old discounts database table upgrades from the 3.0.0 update to ensure they all run correctly and in order. This protects against a possible error about the\\u00a0subscription_id\\u00a0column not existing.<\\/li>\\n<li>Fix: Unable to update Stripe billing card if the subscription wasn\'t originally created by RCP.<\\/li>\\n<li>Fix: CSV importer reporting incorrect row numbers after the first batch.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.8, February 12, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: PHP 5.6 error due to use of type hinting.<\\/li>\\n<li>Fix: Check if\\u00a0wp_is_site_initialized()\\u00a0exists before using to prevent errors in WordPress versions below 5.1.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.7, February 11, 2020<\\/strong><\\/p>\\n<ul>\\n<li>New: Introduced new filter\\u00a0rcp_is_rcp_admin_page. RCP scripts and styles are enqueued when this returns\\u00a0true\\u00a0so third party plugins can use this filter to load RCP scripts and styles on their own pages.<\\/li>\\n<li>Improvement:\\u00a0$_POST\\u00a0data is now available during\\u00a0rcp_validate_registration_state\\u00a0ajax action.<\\/li>\\n<li>Fix: MySQL errors on multisite when\\u00a0switch_blog\\u00a0action runs for the first time after new sites are created but before the database tables are created.<\\/li>\\n<li>Fix: If a customers database table upgrade runs a second time it throws an error.<\\/li>\\n<li>Fix: Improve logic on Stripe subscription creation dates to better protect against failures with non-standard billing cycles.<\\/li>\\n<li>Fix: Add checks in case the\\u00a0one_time\\u00a0column is missing from the discounts database table, and add it in if so. This error could occur when upgrading from a very old version.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.6, January 30, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Subscription creation failed with monthly memberships if next month has fewer days than this month.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.5, January 29, 2020<\\/strong><\\/p>\\n<ul>\\n<li>New: Added\\u00a0rcp_registration_page_url\\u00a0filter.<\\/li>\\n<li>Improvement: Customers can now update their Stripe cards if they do not have a recurring membership. Note: if a non-recurring customer does this, updating their billing card does not actually create a recurring subscription.<\\/li>\\n<li>Fix:\\u00a0rcp_is_active() can incorrectly return false when multiple memberships are enabled and the user has one membership that is not active, but another one that is.<\\/li>\\n<li>Fix: Correct plugin header to use\\u00a0Plugin URI\\u00a0instead of\\u00a0Plugin URL.<\\/li>\\n<li>Fix: Date calculation error with \\\"walking expiration dates\\\". This caused incorrect dates being calculated for yearly memberships that began on the 29th, 30th, or 31st of any month.<\\/li>\\n<li>Fix: Membership counts cron job not running due to incorrect query argument.<\\/li>\\n<li>Fix: reCAPTCHA v3 could fail if the registration form was submitted multiple times by the same user. (Example: first attempt their card payment failed, so they tried again within the same page load.)<\\/li>\\n<li>Fix: Adjust how RCP matches Stripe webhook to a membership to ensure that RCP doesn\'t process webhooks for any plugins.<\\/li>\\n<li>Tweak: Add membership note whenever a membership is manually edited.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.4, January 23, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Update Stripe and Braintree gateways to \\\"soft fail\\\" after all <em>essential<\\/em>\\u00a0actions have been taken. For example: if initial payment is successful but setting up the subscription fails, then registration is still deemed \\\"successful\\\" (whereas previously it would have been marked as a failure). In this case, membership is still activated but auto renew is disabled and a note is added to indicate the subscription creation failure.<\\/li>\\n<li>Improvement: Add help next next to email reminders to clarify the difference between Expiration &amp; Renewal reminders.<\\/li>\\n<li>Fix: Convert\\u00a0stripe_checkout\\u00a0gateway to\\u00a0stripe\\u00a0in membership records.<\\/li>\\n<li>Fix:\\u00a0RCP_Membership::enable()\\u00a0not enabling the membership. This caused a problem where memberships were not getting assigned when someone attempted to register, had their card declined, then tried again successfully.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.3, January 15, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Add\\u00a0$discounts\\u00a0and\\u00a0$fees\\u00a0method arguments to\\u00a0rcp_registration_get_total\\u00a0filter.<\\/li>\\n<li>Fix: Incorrect calculation in expiration date when accounting for walking dates used by PayPal. This could have caused some memberships in RCP to expire a day or two before the PayPal renewal charge went through.<\\/li>\\n<li>Fix: Ensure we never pass a\\u00a00\\u00a0user_id to our\\u00a0rcp_user_has_{status}_membership\\u00a0filters. Instead a\\u00a00 user_id is converted to the current user ID, which was the intention.<\\/li>\\n<li>Fix: Protect against fatal errors in Memberships admin UI if you somehow have a membership record associated with a since-deleted customer \\/ user.<\\/li>\\n<li>Fix: Adjust parameters on email reminder query to set\\u00a0inclusive\\u00a0to\\u00a0true. This fixes a problem where memberships that expired at certain times may not have been included.<\\/li>\\n<li>Fix: Use existing hidden field for registration payment ID instead of appending a new field to the form.<\\/li>\\n<li>Fix: Braintree - do not send\\u00a0threeDSecure.amount\\u00a0parameter if 3D secure is not enabled on the account. This fixes registration issues with Braintree accounts that do not have 3D secure enabled.<\\/li>\\n<li>Fix: Payment subtotal incorrectly set to\\u00a00\\u00a0when adding a payment via Restrict &gt; Payments &gt; Add New.<\\/li>\\n<li>Fix: Check for required fields in\\u00a0rcp_add_customer()\\u00a0function to prevent PHP notices when those fields are not included.<\\/li>\\n<li>Fix: Enabling payment plans on a level that already has memberships that were created without a payment plan causes those memberships to complete the payment plan earlier than they should. With this fix, existing memberships will continue to be treated as if they do not have a payment plan at all.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.2, January 8, 2020<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: login.php<\\/li>\\n<li>New: Add limiting on failed payment reminder emails. This protects against issues we\'ve seen where PayPal sends an excessive number of failed payment IPNs. These emails are now limited to a maximum of one email per membership per 20 hour period; and a total of 5 emails per membership. The counters reset once a successful payment has been made.<\\/li>\\n<li>Tweak: Update Stripe integration to use\\u00a0billing_cycle_anchor\\u00a0parameter instead of\\u00a0trial_end\\u00a0where possible. This fixes MRR reporting inconsistencies in Stripe.<\\/li>\\n<li>Tweak: Removed \\\"RCP:\\\" prefix from Stripe one-time payment description.<\\/li>\\n<li>Tweak: Change log in form username label to \\\"Username or Email\\\".<\\/li>\\n<li>Tweak: Update Italian translation.<\\/li>\\n<li>Tweak: Update Spanish translation.<\\/li>\\n<li>Fix: Stripe renewals have unexpected results when manually renewing an expired membership that still has a \\\"past due\\\" (not cancelled) subscription inside Stripe.<\\/li>\\n<li>Fix: Password resets not working with object caching.<\\/li>\\n<li>Fix: Curly quotes in Spanish translation file breaking links.<\\/li>\\n<li>Fix: Potential Heuristics.Phishing.Email.SpoofedDomain false positive in certain language files due to poorly formatted developer.paypal.com link.<\\/li>\\n<li>Fix: Incorrect query parameter in expiration reminder query arguments, which may result in some people not receiving reminder emails if their expiration time is not 23:59:59.<\\/li>\\n<li>Fix: Ensure all URL query arguments are URL encoded.<\\/li>\\n<li>Fix: Trialling users not receiving expiration reminders when they qualify.<\\/li>\\n<li>Fix: If \\\"Disable Global Stripe.js\\\" is enabled, then Stripe card update page no longer works.<\\/li>\\n<li>Fix: Add checks to prevent\\u00a0rcp_check_member_counts()\\u00a0cron job from running more than once per day.<\\/li>\\n<li>Fix: Memberships that never expire incorrectly getting picked up in\\u00a0rcp_check_for_expired_users()\\u00a0query. Note: this did not result in people incorrectly receiving expiration emails, it just meant the query was larger than it needed to be, which could have performance impacts on extremely large sites.<\\/li>\\n<li>Fix: Unable to save null values to database, which could impact the customer\\u00a0has_trialed\\u00a0flag value.<\\/li>\\n<li>Fix: Admin email notifications may contain the incorrect membership level name if multiple memberships is enabled.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3.1, December 16, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Added new email template tags for %membership_renew_url%\\u00a0and\\u00a0%membership_change_url%.<\\/li>\\n<li>New: Add a date filter to the admin Payments page.<\\/li>\\n<li>Improvement: Added new membership column for activated_date. This gets set when a membership is activated.<\\/li>\\n<li>Improvement: Updated Spanish translation.<\\/li>\\n<li>Improvement: On install, the default pages are now assigned to the currently logged in user.<\\/li>\\n<li>Improvement: Reject discount code if it\'s one-time and attempted to be applied to a free trial. Previously, the discount was still not applied, but the user was not actually informed of this. Now we show a clear error message informing the user that the discount didn\'t work.<\\/li>\\n<li>Improvement: Adjust one-time discounts setting to clarify it doesn\'t work with free trials.<\\/li>\\n<li>Improvement: Change \\\"Upgraded From\\\" label on Membership Details to \\\"Changed From\\\".<\\/li>\\n<li>Improvement: Add subscription key to admin Membership Details page.<\\/li>\\n<li>Improvement: Move rcp_process_member_cancellation\\u00a0hook down a couple lines to ensure our note gets added prior to that hook running.<\\/li>\\n<li>Fix: Stripe modal not working in IE11.<\\/li>\\n<li>Fix: Inelegant Stripe error when no cardholder name is supplied while updating billing card. We now show a nicer looking error if the field is empty.<\\/li>\\n<li>Fix: test_calculate_expiration()\\u00a0unit test failing due to setting expiration date to one in the past.<\\/li>\\n<li>Fix: Admin unable to manually change a membership\'s level if the other levels are deactivated.<\\/li>\\n<li>Fix: Unable to manually renew a free trial level prior to its expiration.<\\/li>\\n<li>Fix: Database table version numbers were not being removed from wp_options on uninstall.<\\/li>\\n<li>Fix: \\\"Hide Premium Posts\\\" query modification was overriding existing post__not_in\\u00a0value. Now they get merged.<\\/li>\\n<li>Fix: Under certain circumstances, admin payments table was incorrectly showing \\\"User #123\\u00a0(deleted)\\\" as the customer name when the user hadn\'t actually been deleted.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.3, December 10, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New template file: card-update-form-fields.php<\\/li>\\n<li>Modified template files: card-update-form.php, register-total-details.php<\\/li>\\n<li>New: Added support for using saved Stripe cards for new purchases.<\\/li>\\n<li>New: Updated the Braintree SDK, added support for the drop-in UI, and added support for 3D secure.<\\/li>\\n<li>New: Added support for reCAPTCHA v3. This can be enabled in Restrict \\u2192 Settings \\u2192 Misc by changing the version number. You will also need to generate v3 keys.<\\/li>\\n<li>New: When in test mode, test credit card numbers are now displayed in the registration form for supported gateways. This allows for easier and faster testing. This can optionally be disabled with this filter: add_filter( \'rcp_show_test_card_on_registration\', \'__return_false\' );<\\/li>\\n<li>New: Added RCP_GATEWAY_SANDBOX_MODE constant. This allows you to force sandbox mode to always be enabled. Recommended on staging sites.<\\/li>\\n<li>New: The membership next renewal date is now displayed in the registration form.<\\/li>\\n<li>Improvement: Attempt to auto-style the Stripe Elements field, using styles on existing on-site checkout fields.<\\/li>\\n<li>Improvement: Our discounts database code has been rewritten to use our new custom table engine. This resulted in a number of discount classes being deprecated and new classes\\/functions being introduced. All changes should be fully backwards compatible.<\\/li>\\n<li>Improvement: Code changes that allow for payment gateways to override the card update form.<\\/li>\\n<li>Fix: If someone applies a one-time 100% off discount code and does not sign up with auto renew, their expiration date is incorrectly set to \\u201cnever expires\\u201d.<\\/li>\\n<li>Fix: Always set the type attribute on all admin text input fields. This fixes a display inconsistency in WordPress 5.3+.<\\/li>\\n<li>Fix: Invalid HTML markup with Stripe Elements.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.3, October 7, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified templates: subscription.php<\\/li>\\n<li>New: Added the ability to recover pending and failed payments. A \\\"Complete Payment\\\" link has been added to the list of payments on the\\u00a0[subscription_details]\\u00a0shortcode.<\\/li>\\n<li>Tweak: Added terms\\/privacy checkboxes to\\u00a0[register_form_stripe]\\u00a0shortcode if enabled. This also fixed an issue where the shortcode was validating for these checkboxes but not displaying them.<\\/li>\\n<li>Tweak: CSV Importer: improve CSV mime type detection.<\\/li>\\n<li>Tweak: CSV Importer: if incorrect file type is detected, include the detected file type in the error message.<\\/li>\\n<li>Tweak: Localize Stripe error messages that occur via JavaScript. Also add a new filter\\u00a0rcp_stripe_error_messages\\u00a0to allow these error messages to be modified.<\\/li>\\n<li>Tweak: Include original Stripe error message if we don\'t have our own localized version.<\\/li>\\n<li>Tweak: Show admin notice if manual membership cancellation fails.<\\/li>\\n<li>Fix: Sign up fees not being applied if someone attempts a payment, doesn\'t complete it, then tries a second time. This typically only occurred with the PayPal gateway, which allows you to not complete a payment in progress.<\\/li>\\n<li>Fix:\\u00a0Heuristics.Phishing.Email.SpoofedDomain\\u00a0false positive from virus scanners, due to us making a link to\\u00a0developer.paypal.com, which actually led to our documentation on how to use that site to get API credentials.<\\/li>\\n<li>Fix: Add missing try\\/catch block during certain Stripe operations.<\\/li>\\n<li>Fix: Correct formatting on\\u00a0sprintf()\\u00a0functions.<\\/li>\\n<li>Fix: Undefined property errors while updating pending payments via cron job.<\\/li>\\n<li>Fix: Under certain circumstances, RCP was incorrectly creating a second Stripe customer record.<\\/li>\\n<li>Fix: Stripe webhook conflicts when RCP is installed on two separate sites but both use the same Stripe account.<\\/li>\\n<li>Fix: Remove\\u00a0admin_url()\\u00a0base from\\u00a0rcp_get_invoice_url()\\u00a0function. In certain edge cases this was resulting in\\u00a0admin_url()\\u00a0being included in email notifications.<\\/li>\\n<li>Fix: Update WP_User display name when editing Customer first\\/last name via Customer Details page.<\\/li>\\n<li>Fix: Email verification link not working when using plain text emails.<\\/li>\\n<li>Fix: CSV Importer - use email as the username if username is omitted from the CSV file.<\\/li>\\n<li>Fix: Recurring fees not being properly passed to payment gateway during registration.<\\/li>\\n<li>Fix: Do not apply prorated credits when multiple memberships are enabled and registering via\\u00a0[register_form_stripe].<\\/li>\\n<li>Fix: \\\"Renews automatically\\\" incorrectly displaying on\\u00a0[subscription_details]\\u00a0shortcode for inactive memberships.<\\/li>\\n<li>Fix:\\u00a0rcp_get_user_payments()\\u00a0was returning all user payments if the current user was logged out. It now returns an empty array.<\\/li>\\n<li>Fix: Display issues on admin payments table on mobile devices.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.2, September 17, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Improvement: Updated French translation.<\\/li>\\n<li>Improvement: Display clearer error messages when there\'s a problem adding a discount code.<\\/li>\\n<li>Fix: Registration type changing mid-registration, which could impact signup fees with some gateways.<\\/li>\\n<li>Fix: Stripe invalid request error when someone with a non-recurring Stripe membership visits the page containing the\\u00a0[rcp_update_card]\\u00a0shortcode.<\\/li>\\n<li>Fix: Incorrect use of\\u00a0date_i18n()\\u00a0instead of\\u00a0date()\\u00a0when saving payment dates via webhooks.<\\/li>\\n<li>Fix: Filter the password reset URL to use the designated RCP login form when \\\"Redirect Default Login URL\\\" is enabled.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2.1, September 12, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Fix: Incorrect Stripe subscription start date if a member manually renews a membership prior to expiration and the initial payment hasn\'t yet been fully captured at the time the subscription is created.<\\/li>\\n<li>Fix: Unable to process free membership if Stripe is the selected payment gateway.<\\/li>\\n<li>Fix: Registration errors when a customer has a membership for a level that has been deleted.<\\/li>\\n<li>Fix: Missing\\u00a0rcp_stripe_signup_payment_failed\\u00a0action when initial Stripe payment fails.<\\/li>\\n<li>Tweak: Update\\u00a0rcp_is_trialing()\\u00a0function to remove use of deprecated class.<\\/li>\\n<li>Tweak: Include RCP upgrade date and \\\"upgraded from\\\" version in system info report.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.2, September 10, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Important: Stripe Checkout gateway has been removed. If you\\u2019re using it, you will automatically be changed over to our normal Stripe gateway, which uses Stripe Elements. The [register_form_stripe] shortcode still functions, but it may look different.<\\/li>\\n<li>New: Updated the Stripe gateway to use Payment Intents API. This complies with SCA regulations.<\\/li>\\n<li>New: Stripe card declined notices now appear inline and no longer require a page refresh.<\\/li>\\n<li>New: Added\\u00a0%update_billing_card_url%\\u00a0template tag, which serves as a direct link to the \\u201cupdate billing card\\u201d page for the membership associated with the user\\u2019s most recent payment. Recommended for use in the Renewal Payment Failed email.<\\/li>\\n<li>Tweak: Changes to registration form JavaScript. Initial membership processing is now handled via ajax. Testing is recommended if you have custom code that interacts with the registration JavaScript.<\\/li>\\n<li>Tweak: The first payment in a Stripe subscription is now always a one-time charge. The subscription is created with a delayed start date (until the next billing cycle).<\\/li>\\n<li>Tweak: Stripe gateway no longer uses Stripe Coupon codes. Instead, new plans are created for each duration\\/amount combination.<\\/li>\\n<li>Tweak: Stripe gateway no longer handles signup fees via customer account balance. They are incorporated into an initial one-time charge that handles the first payment.<\\/li>\\n<li>Tweak: The\\u00a0rcp_stripe_charge_create_args\\u00a0filter is now deprecated and replaced with\\u00a0rcp_stripe_create_payment_intent_args. This is due to replacing the Charges API with the Payment Intents API. Some arguments may now differ.<\\/li>\\n<li>Tweak: Stripe error messages are now able to be translated.<\\/li>\\n<li>Fix: Stripe gateway doesn\\u2019t use the \\u201crecurring_price\\u201d that\\u2019s passed into the gateway class.<\\/li>\\n<li>Fix: Stripe incorrectly applying one-time discounts after a free trial.<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1.2, August 22, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: An admin notice will be displayed if you have the Stripe Checkout gateway enabled, explaining that the gateway will be removed in RCP version 3.2 due to SCA regulations. Read more here:\\u00a0<a href=\\\"https:\\/\\/docs.restrictcontentpro.com\\/article\\/1552-stripe-checkout\\\" rel=\\\"nofollow\\\">https:\\/\\/docs.restrictcontentpro.com\\/article\\/1552-stripe-checkout<\\/a><\\/li>\\n<li>New: Added a\\u00a0date_completed\\u00a0column to the\\u00a0wp_rcp_queue\\u00a0table.<\\/li>\\n<li>New: Unauthorized users are now redirected away from category archive pages if the category is restricted. (Requires that Hide Restricted Posts be checked on.)<\\/li>\\n<li>New: Allow filtering by both level and status on Restrict &gt; Memberships page. Note: you must choose a status filter first, then you can change the membership level.<\\/li>\\n<li>New: Add support for a\\u00a0redirect\\u00a0query arg when generating a\\u00a0resend_verification\\u00a0link.<\\/li>\\n<li>New: Add \\\"Status\\\" dropdown to the \\\"add payment\\\" form on the admin Membership Details page.<\\/li>\\n<li>Tweak: Moved\\u00a0_rcp_reminder_sent_*\\u00a0user meta to membership meta.<\\/li>\\n<li>Tweak: Adjust Redirect Default Login URL setting description to convey that the\\u00a0[login_form]\\u00a0shortcode is required on the page and not optional.<\\/li>\\n<li>Fix: Free trial incorrectly granted again under certain circumstances.<\\/li>\\n<li>Fix: If a customer signs up for a one-time payment membership and does not complete payment, they are unable to try again. (Usually only seen with the PayPal payment gateway.)<\\/li>\\n<li>Fix: CSV import not setting correct password for new users.<\\/li>\\n<li>Fix: CSV import missing old\\u00a0rcp_user_import_user_added\\u00a0action hook.<\\/li>\\n<li>Fix: Incorrect ajax parameter used for error message when uploading a CSV import file fails.<\\/li>\\n<li>Fix: Don\'t show an error message on\\u00a0[rcp_update_card]\\u00a0shortcode if the current user does not have a membership at all.<\\/li>\\n<li>Fix: Ensure that\\u00a0free\\u00a0membership status is always converted to\\u00a0active\\u00a0(backwards compatibility with pre-3.0).<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1.1, July 31, 2019<\\/strong><\\/p>\\n<ul>\\n<li>New: Add message to\\u00a0[rcp_update_card]\\u00a0shortcode when a user is unable to update their card details.<\\/li>\\n<li>New: Add action\\u00a0rcp_edit_customer_after_memberships_section\\u00a0to Customer Details page, allowing third party plugins to add a whole new customer section.<\\/li>\\n<li>New: On Customer Details page, display whether or not the customer has trialled before.<\\/li>\\n<li>Tweak: Add a space between the Norwegian Krone currency symbol and the price (previous:\\u00a010kr\\u00a0new:\\u00a010 kr).<\\/li>\\n<li>Tweak: Removed the 2-day grace period on the expiration cron job. Use this custom code if you want to add it back in:\\u00a0<a href=\\\"https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-add-expiration-grace-period.php\\\">https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-add-expiration-grace-period.php<\\/a><\\/li>\\n<li>Tweak: Include RCP payment ID in Stripe one-time charge metadata.<\\/li>\\n<li>Fix: Generate a new subscription key on renewals if existing one is blank. This fixes a problem with renewals not activating via PayPal if the existing membership didn\'t have a subscription key (which might be the case if the membership was imported).<\\/li>\\n<li>Fix: EDD Downloads not showing excerpts to users without access if excerpts are globally enabled.<\\/li>\\n<li>Fix: Under certain circumstances, deactivated membership levels can be renewed when they shouldn\'t be able to. If you want to allow deactivated levels to be renewed, use the\\u00a0rcp_can_renew_deactivated_membership_levels\\u00a0filter. Example:\\u00a0<a href=\\\"https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-renew-deactivated-levels.php\\\">https:\\/\\/github.com\\/restrictcontentpro\\/library\\/blob\\/master\\/rcp-renew-deactivated-levels.php<\\/a><\\/li>\\n<li>Fix: Expiration emails being sent when creating a new membership with the \\\"expired\\\" status.<\\/li>\\n<li>Fix: reCAPTCHA errors when using [register_form_stripe].<\\/li>\\n<li>Fix: Registration not working in Internet Explorer due to JavaScript\\u00a0assign()\\u00a0error.<\\/li>\\n<li>Fix: Stop using\\u00a0date_i18n()\\u00a0in database datetime validation.<\\/li>\\n<li>Fix: Pending payment ID can be incorrect if someone attempts a payment multiple times for the same membership.<\\/li>\\n<li>Fix: 3.0 migration - check for and show clear error if the user being migrated doesn\'t exist (due to orphaned user meta).<\\/li>\\n<\\/ul>\\n<p><strong>Version 3.1, July 17, 2019<\\/strong><\\/p>\\n<ul>\\n<li>Modified template files: card-update-form.php, paypal-express-confirm.php, register-single.php, register.php, subscription.php.<\\/li>\\n<li>New: Add support for multiple active memberships per customer.<\\/li>\\n<li>New (WARNING): Authorize.net has been removed from core and moved to a separate add-on. The new add-on can be installed here: <a href=\\\"https:\\/\\/wordpress.org\\/plugins\\/rcp-authorize-net\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">https:\\/\\/wordpress.org\\/plugins\\/rcp-authorize-net\\/<\\/a><\\/li>\\n<li>New: One-time discounts can now be configured on a per-discount basis rather than globally.<\\/li>\\n<li>New: Stripe gateway has been updated to use Stripe Elements.<\\/li>\\n<li>New: CSV user import tool now available in Restrict &gt; Tools &gt; Import.<\\/li>\\n<li>New: Added WP-CLI integration.<\\/li>\\n<li>New: Expiration and renewal notices can now be limited to certain membership levels only.<\\/li>\\n<li>New: Added support for bulk adding memberships to existing users from the Users table.<\\/li>\\n<li>New: Added \\\"payment received\\\" email template for admins.<\\/li>\\n<li>New: Use WP_List_Table for all admin table pages.<\\/li>\\n<li>New: Add default email template content on new installs.<\\/li>\\n<li>New: Log all payment events in the customer notes.<\\/li>\\n<li>New: Send customer name in Stripe API request.<\\/li>\\n<li>New: Add payment meta and membership level meta functions.<\\/li>\\n<li>New: Signup fees are no longer applied when manually renewing an existing membership.<\\/li>\\n<li>New: Stripe gateway tested with API version\\u00a02019-05-16.<\\/li>\\n<li>Tweak: Stop unchecking \\\"auto renew\\\" when a membership expires.<\\/li>\\n<li>Tweak: All translation files have been updated from plugin source code.<\\/li>\\n<li>Tweak: Updated plugin author name and URL.<\\/li>\\n<li>Fix: RCP datepicker styles affecting other plugin datepickers.<\\/li>\\n<li>Fix: Reduce the three RCP membership columns on the Users table to one single \\\"Membership\\\" column. This reduces database queries and improves loading time on this page.<\\/li>\\n<li>Fix: Payments are now only recorded via webhooks\\/IPNs if we can match the payment to a very specific RCP membership. This resolves issues if the same PayPal account is used for multiple different products and one customer is involved in both products.<\\/li>\\n<\\/ul>\\n<p>https:\\/\\/restrictcontentpro.com\\/downloads\\/restrict-content-pro\\/changelog<\\/p>\\n\"]}\";}','yes'),(318758,'sticky_header_status','done','yes'),(318759,'has_sticky_header_old_version','no','yes'),(318760,'mysticky_option_name','a:10:{s:26:\"mysticky_class_id_selector\";s:6:\"custom\";s:23:\"mysticky_class_selector\";s:7:\".navbar\";s:14:\"myfixed_zindex\";s:5:\"99990\";s:12:\"myfixed_fade\";s:4:\"fade\";s:28:\"myfixed_disable_small_screen\";s:1:\"0\";s:25:\"mysticky_active_on_height\";s:1:\"0\";s:30:\"mysticky_active_on_height_home\";s:1:\"0\";s:15:\"myfixed_bgcolor\";s:7:\"#003966\";s:23:\"myfixed_transition_time\";s:3:\"0.3\";s:15:\"myfixed_opacity\";s:2:\"90\";}','yes'),(310462,'dlm_shop_enabled','','yes'),(309598,'dlm_hide_notice-onboarding','1','yes'),(309058,'wpdb_rcp_customers_version','202003311','yes'),(309059,'wpdb_rcp_memberships_version','202003315','yes'),(309060,'wpdb_rcp_queue_version','202003312','yes'),(309061,'wpdb_rcp_membershipmeta_version','201901291','yes'),(318920,'new_admin_email','info@usworkworld.com','yes'),(320397,'antispambee_db_version','1','yes'),(318815,'sp_wpcp_settings','a:11:{s:20:\"wpcp_delete_all_data\";b:0;s:24:\"wpcp_dequeue_google_font\";b:1;s:30:\"wpcp_responsive_screen_setting\";a:4:{s:7:\"desktop\";s:4:\"1200\";s:6:\"laptop\";s:3:\"980\";s:6:\"tablet\";s:3:\"736\";s:6:\"mobile\";s:3:\"480\";}s:22:\"wpcp_enqueue_slick_css\";b:1;s:19:\"wpcp_enqueue_bx_css\";b:1;s:19:\"wpcp_enqueue_fa_css\";b:1;s:25:\"wpcp_enqueue_magnific_css\";b:1;s:13:\"wpcp_slick_js\";b:1;s:10:\"wpcp_bx_js\";b:1;s:16:\"wpcp_magnific_js\";b:1;s:15:\"wpcp_custom_css\";s:0:\"\";}','yes'),(318804,'cv_pretty_pagination_url_212','1','yes'),(326811,'rcp_version_upgraded_on','2023-05-19 21:09:15','yes'),(326812,'rcp_install_pages_created','2019-11-04 20:12:18','yes'),(326525,'searchwp_transient','1598963905.6608738899230957031250','no'),(328359,'w3tc_pgcache_prime_offset','0','no'),(352814,'yoast_migrations_free','a:1:{s:7:\"version\";s:4:\"20.8\";}','yes'),(352815,'ewww_image_optimizer_picture_webp','','yes'),(352816,'ewww_image_optimizer_webp_rewrite_exclude','','yes'),(325681,'ewww_image_optimizer_dismiss_review_notice','1','no'),(323162,'wonderplugin_carousel_information','s:30951:\"O:8:\"stdClass\":18:{s:6:\"author\";s:19:\"Magic Hills Pty Ltd\";s:8:\"homepage\";s:48:\"https://www.wonderplugin.com/wordpress-carousel/\";s:4:\"name\";s:15:\"Wonder Carousel\";s:8:\"requires\";s:3:\"3.6\";s:6:\"tested\";s:5:\"6.2.2\";s:5:\"icons\";a:1:{s:7:\"default\";s:41:\"https://www.wonderplugin.com/icon-128.png\";}s:7:\"version\";s:4:\"18.9\";s:11:\"new_version\";s:4:\"18.9\";s:12:\"last_updated\";s:10:\"2023-03-29\";s:8:\"sections\";a:1:{s:10:\"change log\";s:30013:\"<h4>Version 18.9 - March 29, 2023</h4>\n<ul>\n<li>Fix an issue with PHP 8.1</li>\n<li>Sanitise URL query parameters</li>\n</ul>\n<h4>Version 18.8 - October 24, 2022</h4>\n<ul>\n<li>Support loading image and video list from a JSON web service: <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-load-image-and-video-list-from-a-json-web-service-in-wordpress-carousel/\" rel=\"noopener\" target=\"_blank\">How to load image and video list from a JSON web service in WordPress Carousel</a></li>\n<li>Add an option to display different images on iPhone and Android</li>\n<li>Fix a compatibility issue with PHP 8.1</li>\n<li>Change the plugin folder of the Trial version to the same as the Pro version</li>\n</ul>\n<h4>Version 18.7 - September 2, 2022</h4>\n<ul>\n<li>Fix a bug with multiple-row post carousel and custom post carousel</li>\n<li>Add options to disable initialising YouTube and Vimeo API for GDPR</li>\n<li>Remove the Google fonts from the default skin CSS</li>\n</ul>\n<h4>Version 18.6 - August 17, 2022</h4>\n<ul>\n<li>Support Google Analytics 4</li>\n<li>Add an option to force the web browser not to cache the images and videos</li>\n<li>Fix the display of the overview page</li>\n</ul>\n<h4>Version 18.5 - January 14, 2022</h4>\n<ul>\n<li>Fix a bug when adding pages to WordPress carousel</li>\n</ul>\n<h4>Version 18.4 - December 23, 2021</h4>\n<ul>\n<li>Support the macro variable __AUTHOR__ for WordPress post carousel and custom post type carousel</li>\n<li>Pass post ID to the WordPress filter wonderplugin_carousel_modify_post_items and wonderplugin_carousel_modify_custom_post_items</li>\n</ul>\n<h4>Version 18.3 - June 9, 2021</h4>\n<ul>\n<li>Add an advanced lightbox option to fix the issue when adding Facebook videos to the carousel: <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-add-facebook-videos-to-wordpress-carousel/\" rel=\"noopener\" target=\"_blank\">How to add Facebook videos to WordPress carousel</a></li>\n</ul>\n<h4>Version 18.2 - March 16, 2021</h4>\n<ul>\n<li>Use the macro variable <code>%post_author%</code> to display the post author\'s display name in WordPress post carousels</li>\n<li>Show empty categories in the category list when creating a WordPress post carousel</li>\n</ul>\n<h4>Version 18.1 - February 25, 2021</h4>\n<ul>\n<li>Fix a bug with the auto scroll carousel</li>\n</ul>\n<h4>Version 18.0 - February 24, 2021</h4>\n<ul>\n<li>Fix a bug with WordPress continuous carousel</li>\n</ul>\n<h4>Version 17.9 - December 21, 2020</h4>\n<ul>\n<li>Fix the bug when there are multiple YouTube playlist carousels on the same page</li>\n</ul>\n<h4>Version 17.8 - December 10, 2020</h4>\n<ul>\n<li>Fix a compatibility issue with WordPress 5.6</li>\n</ul>\n<h4>Version 17.7 - November 27, 2020</h4>\n<ul>\n<li>Fix compatibility issues with WordPress 5.6</li>\n</ul>\n<h4>Version 17.6 - November 26, 2020</h4>\n<ul>\n<li>Fix compatibility issues with WordPress 5.6</li>\n<li>Add a new skin to create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-vertical-auto-scroll-carousel-id77/\" rel=\"noopener noreferrer\" target=\"_blank\">WordPress vertical auto scroll carousel</a></li>\n<li>Add an option to add a hover over image for image carousels</li>\n<li>Fix an issue with YouTube playlist </li>\n</ul>\n<h4>Version 17.5 - August 21, 2020</h4>\n<ul>\n<li>Fix compatibility issues with WordPress 5.5</li>\n</ul>\n<h4>Version 17.4 - August 5, 2020</h4>\n<ul>\n<li>Fix a Flash issue with legacy Internet Explorer</li>\n</ul>\n<h4>Version 17.3 - July 31, 2020</h4>\n<ul>\n<li>Add an advanced data option <code>data-swipedistance</code> to specify the minimum distance for swipe gesture</li>\n<li>Support shortcode in carousel HTML code module</li>\n<li>In the carousel editor, step 1, Images & Videos tab, add a button to sort images and videos by title, filename and URL</li>\n<li>Show carousel item titles in the carousel editor, step 1, Images & Videos tab</li>\n</ul>\n<h4>Version 17.2 - June 30, 2020</h4>\n<ul>\n<li>Add a new WordPress carousel skin: Carousel with Image, Text and Button </li>\n</ul>\n<h4>Version 17.1 - May 6, 2020</h4>\n<ul>\n<li>When creating a YouTube playlist carousel, instead of creating a dynamic YouTube playlist carousel, add an option to retrieve videos from the playlist and add them to the carousel.</li>\n</ul>\n<h4>Version 17.0 - March 31, 2020</h4>\n<ul>\n<li>Fix a CSS conflict issue with third-party themes</li>\n</ul>\n<h4>Version 16.9 - September 19, 2019</h4>\n<ul>\n<li>Add an option to slide the carousel with fade and flip effect</li>\n<li>Fix an issue with WPML 4.2.8 and WordPress post carousel</li>\n</ul>\n<h4>Version 16.8 - September 8, 2019</h4>\n<ul>\n<li>Fix a bug when navigation numbering bullets have different width and height</li>\n</ul>\n<h4>Version 16.7 - September 7, 2019</h4>\n<ul>\n<li>Fix a bug of navigation bullets on mobile devices</li>\n</ul>\n<h4>Version 16.6 - September 6, 2019</h4>\n<ul>\n<li>Add a new skin to create auto scroll carousel with image hover over effect</li>\n<li>Add a new skin to show the first and last carousel image in half</li>\n<li>Add a new skin to display vertical text carousel</li>\n<li>Add a new skin to display vertical text carousel with navigation arrows on top</li>\n<li>Add hover over effect to carousel images</li>\n<li>Add an option to hide navigation bullets on mobiles</li>\n<li>Add an option to hide navigation bullets and arrows when there is only one page</li>\n<li>Fix a bug of navigation bullets on small screen devices</li>\n<li>Fix a bug for auto scroll carousel</li>\n</ul>\n<h4>Version 16.5 - August 28, 2019</h4>\n<ul>\n<li>Fix a bug when upgrading the plugin version 16.4</li>\n</ul>\n<h4>Version 16.4 - August 23, 2019</h4>\n<ul>\n<li>Fix a bug in WordPress post carousel</li>\n<li>Change carousel editor UI</li>\n</ul>\n<h4>Version 16.3 - July 30, 2019</h4>\n<ul>\n<li>Support WordPress multilingual plugin WPML in WordPress post carousel</li>\n</ul>\n<h4>Version 16.2 - July 30, 2019</h4>\n<ul>\n<li>Add an option to disable opening post page URL or featured image lighbox when clicking images in WordPress post carousel</li>\n</ul>\n<h4>Version 16.1 - July 21, 2019</h4>\n<ul>\n<li>Fix a bug for auto scroll carousel</li>\n</ul>\n<h4>Version 16.0 - July 12, 2019</h4>\n<ul>\n<li>Add a function to create WooCommerce on sale products carousel</li>\n<li>Fix a bug when creating WooCommerce featured products carousel</li>\n</ul>\n<h4>Version 15.9 - June 15, 2019</h4>\n<ul>\n<li>Fix a bug when lazy loading images</li>\n</ul>\n<h4>Version 15.8 - June 15, 2019</h4>\n<ul>\n<li>Fix the bug when there is HTML code in multilingual text</li>\n<li>Fix a bug when adding custom JavaScript</li>\n<li>Add a function to display PHP info</li>\n</ul>\n<h4>Version 15.7 - June 6, 2019</h4>\n<ul>\n<li>Fix a bug when rendering the carousel</li>\n</ul>\n<h4>Version 15.6 - June 5, 2019</h4>\n<ul>\n<li>Add two skins to create HTML content slider</li>\n</ul>\n<h4>Version 15.5 - June 4, 2019</h4>\n<ul>\n<li>Fix a bug with auto scrolling carousel</li>\n</ul>\n<h4>Version 15.4 - June 4, 2019</h4>\n<ul>\n<li>Use CSS transition for auto scrolling carousel</li>\n</ul>\n<h4>Version 15.3 - May 28, 2019</h4>\n<ul>\n<li>Fix a bug when there are quotes in the text</li>\n<li>Add an option to not zoom in the image if it is smaller than the thumbnail</li>\n</ul>\n<h4>Version 15.2 - May 10, 2019</h4>\n<ul>\n<li>Retrieve alt text when adding images from Windows Media Library</li>\n<li>Fix a bug under multilingual websties</li>\n</ul>\n<h4>Version 15.1 - April 14, 2019</h4>\n<ul>\n<li>Change the title of &lt;a&gt; tag to data-title</li>\n<li>Change the default thumbnail size to large</li>\n</ul>\n<h4>Version 15.0 - March 19, 2019</h4>\n<ul>\n<li>Fix a bug in WooCommerce product carousel and Custom Post Type carousel</li>\n</ul>\n<h4>Version 14.9 - March 18, 2019</h4>\n<ul>\n<li>Support multilingual plugin WPML</li>\n<li>Lightbox effect: add an option to display text outside of the image box</li>\n</ul>\n<h4>Version 14.8 - November 28, 2018</h4>\n<ul>\n<li>Support lazy loading carousel images</li>\n<li>Support displaying a preloading animation for carousel images</li>\n<li>Remove HTML tags from img alt attributes</li>\n<li>Fix the issue with Jetpack image lazy loading</li>\n</ul>\n<h4>Version 14.7 - November 11, 2018</h4>\n<ul>\n<li>Specify date range when creating WordPress post carousel and custom post type carousel</li>\n<li>Add an option to show sharing with email button in the lightbox popup</li>\n</ul>\n<h4>Version 14.6 - November 4, 2018</h4>\n<ul>\n<li>Fix an issue in Internet Explorer</li>\n</ul>\n<h4>Version 14.5 - October 31, 2018</h4>\n<ul>\n<li>Add an option to display items row by row for multiple row carousel</li>\n</ul>\n<h4>Version 14.4 - October 30, 2018</h4>\n<ul>\n<li>Add a function Add Text to create <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-create-wordpress-text-carousel/\" rel=\"noopener noreferrer\" target=\"_blank\">WordPress text carousel</a></li>\n</ul>\n<h4>Version 14.3 - September 28, 2018</h4>\n<ul>\n<li>Add an option to fix a possible JSON error</li>\n</ul>\n<h4>Version 14.2 - September 18, 2018</h4>\n<ul>\n<li>Fix an issue with Jetpack image lazy load</li>\n</ul>\n<h4>Version 14.1 - September 14, 2018</h4>\n<ul>\n<li>Fix a bug in PDF lightbox</li>\n</ul>\n<h4>Version 14.0 - September 6, 2018</h4>\n<ul>\n<li>Fix a bug in lightbox popup when the responsive option is off</li>\n</ul>\n<h4>Version 13.9 - August 23, 2018</h4>\n<ul>\n<li>Fix the bug of YouTube and Vimeo videos not autoplay on lightbox popup</li>\n</ul>\n<h4>Version 13.8 - August 3, 2018</h4>\n<ul>\n<li>Order WooCommerce and WordPress custom post types carousel by menu_order, title, date etc</li>\n</ul>\n<h4>Version 13.7 - July 23, 2018</h4>\n<ul>\n<li>Add an option to defer loading the carousel and all images</li>\n</ul>\n<h4>Version 13.6 - July 6, 2018</h4>\n<ul>\n<li>Fix the compatibility issue with the JetPack option <code>Lazy load images</code></li>\n</ul>\n<h4>Version 13.5 - June 30, 2018</h4>\n<ul>\n<li>Fix a bug when there are hyperlinks in the title of WordPress pages</li>\n</ul>\n<h4>Version 13.4 - June 22, 2018</h4>\n<ul>\n<li>Fix the bug with the option <code>Open current image in lightbox when clicking the carousel button</code></li>\n</ul>\n<h4>Version 13.3 - June 12, 2018</h4>\n<ul>\n<li>Add an option to enable/disable adding the media type attribute to the media URL</li>\n</ul>\n<h4>Version 13.2 - June 7, 2018</h4>\n<ul>\n<li>Fix a bug of creating WordPress post carousel when the web server PHP version is less than 5.5 </li>\n</ul>\n<h4>Version 13.1 - May 17, 2018</h4>\n<ul>\n<li>Fix minor issues</li>\n</ul>\n<h4>Version 13.0 - April 29, 2018</h4>\n<ul>\n<li>Support hiding the download and print buttons in the lightbox PDF viewer when working with the plugin <a href=\"https://www.wonderplugin.com/wordpress-pdf-embed/\" rel=\"noopener noreferrer\" target=\"_blank\">WonderPlugin PDF Embed</a></li>\n<li>Support playing mp4 videos hosted on Google Drive</li>\n</ul>\n<h4>Version 12.9 - April 20, 2018</h4>\n<ul>\n<li>Add a button <code>Add Text/HTML/Shortcode/Souldcloud</code> in the plugin step 1 to create text only carousel and Soundcloud carousel</li>\n<li>Support using an xml file to define extra title and description information when creating a carousel from images and videos inside a web folder</li>\n<li>Fix a bug of highlighting the navigation bullets</li>\n<li>Fix the issue of Vimeo video autoplay in the lightbox under the latest Chrome version 66</li>\n</ul>\n<h4>Version 12.8 - April 11, 2018</h4>\n<ul>\n<li>Create a WordPress carousel from images and videos inside a web folder: <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-create-a-wordpress-carousel-from-images-and-videos-inside-a-web-folder/\" rel=\"noopener noreferrer\" target=\"_blank\">Tutorial: How to create a WordPress carousel from images and videos inside a web folder</a></li>\n</ul>\n<h4>Version 12.7 - March 12, 2018</h4>\n<ul>\n<li>Fix a bug when playing videos inside the carousel</li>\n</ul>\n<h4>Version 12.6 - January 31, 2018</h4>\n<ul>\n<li>For vertical carousels, support changing the number of visible items according to the screen size or the web browser width</li>\n<li>Support left/right arrows when the option continuous playing (auto scrolling) is enabled</li>\n</ul>\n<h4>Version 12.5 - January 17, 2017</h4>\n<ul>\n<li>For WordPress post carousels, the following four macro variables are supported:</li>\n<li><code>__CATEGORYNAME[,]__</code>: display all category names separated by a comma.</li>\n<li><code>__CATEGORYNAMELINK[,]{_target}__</code>: display all category names separated by a comma. Each category name will link to the corresponding category page. The link will open in a new tab which is defined by the target value <code>_target</code>. To open the link in the same page, change the code to <code>__CATEGORYNAMELINK[,]{}__</code>.</li>\n<li><code>__TAGNAME[,]__</code>: display all tags separated by a comma.</li>\n<li><code>__TAGNAMELINK[,]{_target}__</code>: display all tags separated by a comma. Each tag will link to the corresponding tag page. The link will open in a new tab which is defined by the target value <code>_target</code>. To open the link in the same page, change the code to <code>__TAGNAMELINK[,]{}__</code>.</li>\n</ul>\n<h4>Version 12.4 - January 6, 2018</h4>\n<ul>\n<li>Support WooCommerce product category fields: <code>%wc_product_cat_id%</code>, <code>%wc_product_cat_name%</code>, <code>%wc_product_cat_slug%</code> and <code>%wc_product_cat_link%</code></li>\n<li>Support displaying post category ID, name, slug and link. The following macro-variables are supported for WordPress post carousel: <code>__CATEGORYID__</code>, <code>__CATEGORYNAME__</code>, <code>__CATEGORYSLUG__</code>, <code>__CATEGORYLINK__</code></li>\n</ul>\n<h4>Version 12.3 - October 23, 2017</h4>\n<ul>\n<li>Support WordPress page carousel</li>\n</ul>\n<h4>Version 12.2 - September 16, 2017</h4>\n<ul>\n<li>Fix a bug in the carousel movement when the option \"Display thumbnail images as same height and different width if they have different aspect ratio\" is selected</li>\n</ul>\n<h4>Version 12.1 - September 5, 2017</h4>\n<ul>\n<li>Add a new skin \"Read More Button\"</li>\n</ul>\n<h4>Version 12.0 - August 10, 2017</h4>\n<ul>\n<li>\nAdd a function \"Search and Replace\" in the \"Import/Export\" menu. This function can be used to search and replace domain names in the carousels when you move your WordPress site to a new domain or change to HTTPS secure site.</li>\n</ul>\n<h4>Version 11.9 - August 7, 2017</h4>\n<ul>\n<li>Add buttons to the carousel</li>\n<li>Add a new skin <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-text-and-image-carousel-slider-id54/\" target=\"_blank\" rel=\"noopener noreferrer\">Text and Image Slider</a> to create WordPress carousel sliders</li>\n</ul>\n<h4>Version 11.8 - July 31, 2017</h4>\n<ul>\n<li>Add two skins <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-team-members-carousel-with-social-media-id52/\" target=\"_blank\" rel=\"noopener noreferrer\">Team Members with Social Media</a> and <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-team-members-with-social-media-and-flip-effect-id53/\" target=\"_blank\" rel=\"noopener noreferrer\">Team Members with Social Media and Flip Effect</a> to display team members information</li>\n</ul>\n<h4>Version 11.7 - July 13, 2017</h4>\n<ul>\n<li>Fix the issue of the lightbox jumping to the page top</li>\n<li>Fix the swipe issue on Android version 5 and below</li>\n</ul>\n<h4>Version 11.6 - June 3, 2017</h4>\n<ul>\n<li>Add a button \"Add PDF\" in step 1 to help create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-pdf-carousel-id51/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress PDF carousel</a></li>\n<li>In step 1, when adding an image/video/PDF, highlight the input box if the image/video/PDF is not selected</li>\n<li>Setup different default lightbox size for images, videos and PDF files</li>\n</ul>\n<h4>Version 11.5 - June 2, 2017</h4>\n<ul>\n<li>Support opening PDF files in the carousel lightbox popup</li>\n</ul>\n<h4>Version 11.4 - May 30, 2017</h4>\n<ul>\n<li>Select WordPress posts by tags</li>\n<li>Specify the \"orderby\" option when selecting WordPress posts. You can now randomly select posts or select posts by date, ID, author, title, modified date, number of comments.</li>\n<li>Fix a compatibility issue with WooCommerce 3</li>\n<li>Create featured posts carousels for WooCommerce 3</li>\n<li>Specify the featured image size for WooCommerce / custom post type carousels</li>\n</ul>\n<h4>Version 11.3 - April 27, 2017</h4>\n<ul>\n<li>Fix the bug when using the URL parameter firstcarouselid to specify the first item on page load</li>\n</ul>\n<h4>Version 11.2 - April 6, 2017</h4>\n<ul>\n<li>Fix the lightbox resizing issue on mobile devices</li>\n</ul>\n<h4>Version 11.1 - March 30, 2017</h4>\n<ul>\n<li>Add an option to add extra attributes to &lt;a&gt; tag</li>\n<li>Add a lightbox advanced option <em>bodynoscroll</em>. When adding <em>data-bodynoscroll=\"true\"</em> to the Lightbox Advanced Options input box, it will stop the lightbox background scrolling</li>\n<li>Add a lightbox advanced option <em>mobileresizeevent</em>. When adding <em>data-mobileresizeevent=\"false\"</em> to the Lightbox Advanced Options input box, it will stop the lightbox resizing on mobile devices</li>\n</ul>\n<h4>Version 11.0 - February 23, 2017</h4>\n<ul>\n<li>When automatically playing the carousel, add an option to move the carousel to the left or the right</li>\n<li>Add an option to disable looping images when the total number is less than a specified number</li>\n</ul>\n<h4>Version 10.9 - January 9, 2017</h4>\n<ul>\n<li>When adding a carousel to a page or post by using the shortcode, support calling the carousel by its name, for example [wonderplugin_carousel name=\"The Carousel Name\"]</li>\n<li>In the plugin, step 1, Images & Videos tab, add a button \"Delete All\" to delete all items</li>\n<li>In the plugin, step 1, Images & Videos tab, \"Add Image\" dialog, when adding multiple images with the button \"Upload\", apply the option \"Use thumbnail in carousel\" and \"Open current image in Lightbox\" to all images</li>\n</ul>\n<h4>Version 10.8</h4>\n<ul>\n<li>Export/import carousels to/from an .xml file</li>\n</ul>\n<h4>Version 10.7</h4>\n<ul>\n<li>Fix a bug in WordPress auto scrolling carousel</li>\n</ul>\n<h4>Version 10.6</h4>\n<ul>\n<li>Change lightbox fullscreen mode default to false on small screen devices</li>\n</ul>\n<h4>Version 10.5</h4>\n<ul>\n<li>Add an option to add custom JavaScript code</li>\n<li>Add the attribute allowfullscreen to lightbox iframe</li>\n<li>Add a lightbox advanced option maxheight: when data-maxheight=\"true\" is added to the Lightbox Advanced Options input box, the lightbox will use the height of the web browser to calculate the maximum height of the lightbox.</li>\n<li>Enable left and right arrows when the animation is not finished</li>\n</ul>\n<h4>Version 10.4</h4>\n<ul>\n<li>Support creating <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-create-a-woocommerce-product-carousel/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce best selling products carousel</a> and <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-create-a-woocommerce-product-carousel/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce featured products carousel</a></li>\n</ul>\n<h4>Version 10.3</h4>\n<ul>\n<li>Support displaying WooCommerce product price and rating in a <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-create-a-woocommerce-product-carousel/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce carousel</a></li>\n</ul>\n<h4>Version 10.2</h4>\n<ul>\n<li>WordPress custom post type carousel: change the word length limit to post content and excerpt only</li>\n<li>Use textarea for description input box</li>\n</ul>\n<h4>Version 10.1</h4>\n<ul>\n<li>Fix a minor bug in WordPress custom post type carousel</li>\n</ul>\n<h4>Version 10.0</h4>\n<ul>\n<li>Support WordPress custom post type. You can now use the plugin to create <a href=\"https://www.wonderplugin.com/wordpress-carousel-plugin/how-to-create-a-woocommerce-product-carousel/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce carousel</a> or your own custom post carousel</li>\n<li>Add an option to enter different text for alt attribute of img tags</li>\n<li>Add an option to add title attribute for img tags.</li>\n</ul>\n<h4>Version 9.9</h4>\n<ul>\n<li>Compatible with jQuery 3</li>\n</ul>\n<h4>Version 9.8</h4>\n<ul>\n<li>Support onclick event for web links</li>\n</ul>\n<h4>Version 9.7</h4>\n<ul>\n<li>Fix the problem of the menu Manage Carousels not working in version 9.4 on some WordPress installations</li>\n</ul>\n<h4>Version 9.4</h4>\n<ul>\n<li>Fix the problem when the folder wp-admin does not exist in the WordPress website</li>\n</ul>\n<h4>Version 9.3</h4>\n<ul>\n<li>Support macro variable __DATETIME__ and __DATE__ in carousel content template for <a href=\"https://www.wonderplugin.com/wordpress-tutorials/how-to-create-a-wordpress-post-carousel/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress post carousel</a></li>\n</ul>\n<h4>Version 9.2</h4>\n<ul>\n<li>Fix the bug of icon class name conflict</li>\n</ul>\n<h4>Version 9.1</h4>\n<ul>\n<li>Move social media buttons to the bottom center of the lightbox popup</li>\n</ul>\n<h4>Version 9.0</h4>\n<ul>\n<li>Fix a bug of playing videos inside the carousel items</li>\n</ul>\n<h4>Version 8.9</h4>\n<ul>\n<li>Support social media share buttons in lightbox popup: Facebook, Twitter and Pinterest</li>\n<li>Rearrange lightbox options to tabs</li>\n</ul>\n<h4>Version 8.8</h4>\n<ul>\n<li>Use advanced option <code>data-imgextraprops</code> to add extra class names and attributes to img elements</li>\n<li>WordPress post carousel: getting posts of no older than specified days</li>\n<li>WordPress post carousel: specifying post order as ascending or descending</li>\n</ul>\n<h4>Version 8.7</h4>\n<ul>\n<li>Add a new skin Classic with Flip that can be used to create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-carousel-with-3d-flip-effect-id45/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress carousel with 3d flip effect</a></li>\n</ul>\n<h4>Version 8.6</h4>\n<ul>\n<li>Fix a responsive bug with image lightbox</li>\n</ul>\n<h4>Version 8.5</h4>\n<ul>\n<li>Add an option to hide the carousel before all carousel images are loaded</li>\n</ul>\n<h4>Version 8.4</h4>\n<ul>\n<li>Add a new skin Numbering which supports creating <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-carousel-with-number-navigation-id43/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress carousels with number navigation</a></li>\n</ul>\n<h4>Version 8.3</h4>\n<ul>\n<li>Add an option to hide the whole carousel before the initialisation is finished</li>\n<li>Add an option to display Lightbox image with full width and scrollable height</li>\n<li>Only display images in the Media Library Selection Dialog when selecting an image file and only display videos when selecting a video file</li>\n</ul>\n<h4>Version 8.2</h4>\n<ul>\n<li>Fix a bug in multiple rows carousel</li>\n</ul>\n<h4>Version 8.1</h4>\n<ul>\n<li>Support full width carousel</li>\n<li>Support YouTube playlist carousel</li>\n</ul>\n<h4>Version 8.0</h4>\n<ul>\n<li>Add options to fit images into the carousel and center fitted images</li>\n</ul>\n<h4>Version 7.9</h4>\n<ul>\n<li>Fix the bug when there are uppercase letters in WordPress database prefix</li>\n</ul>\n<h4>Version 7.8</h4>\n<ul>\n<li>Hide the hover over text when the option \"Do not show hover image on touch screen\" is selected.</li>\n</ul>\n<h4>Version 7.7</h4>\n<ul>\n<li>Add an option to show/hide play button on video item</li>\n<li>Add an option to use own image as the video play button</li>\n<li>Fix the hover overlay image bug when there are multiple carousels on one page</li>\n</ul>\n<h4>Version 7.6</h4>\n<ul>\n<li>Fix a bug in version 7.5</li>\n</ul>\n<h4>Version 7.5</h4>\n<ul>\n<li>Fix a bug in vertical carousel when the random option is on</li>\n</ul>\n<h4>Version 7.4</h4>\n<ul>\n<li>Add a new skin Flow</li>\n<li>Add an option to show carousel images as same height and different width if the images have different aspect ratio</li>\n</ul>\n<h4>Version 7.3</h4>\n<ul>\n<li>Add an option to trigger window resize event when the carousel is rendered</li>\n</ul>\n<h4>Version 7.2</h4>\n<ul>\n<li>WordPress Posts Carousel: add an option to link title to the post page</li>\n<li>WordPress Posts Carousel: add an option to open the featured image in lightbox</li>\n</ul>\n<h4>Version 7.1</h4>\n<ul>\n<li>Fix a minor bug in image positioning</li>\n</ul>\n<h4>Version 7.0</h4>\n<ul>\n<li>Support URL parameter firstcarouselid and clickcarousel. The URL parameter firstcarouselid will slide the carousel to the specified item, the index of the parameter starts from 0. If clickcarousel=true is added to the URL, it will open the corresponding lightbox when the webpage loads. For example, the following URL will open the second video in lightbox when the webpage loads: <a href=\"https://www.wonderplugin.com/wordpress-carousel/?firstcarouselid=1&clickcarousel=true\" target=\"_blank\" rel=\"noopener noreferrer\">https://www.wonderplugin.com/wordpress-carousel/?firstcarouselid=1&clickcarousel=true</a></li>\n</ul>\n<h4>Version 6.9</h4>\n<ul>\n<li>Fix a minor issue in version 6.8</li>\n</ul>\n<h4>Version 6.8</h4>\n<ul>\n<li>Add an option to support shortcode in title and description text</li>\n</ul>\n<h4>Version 6.7</h4>\n<ul>\n<li>Fix a bug in plugin update</li>\n</ul>\n<h4>Version 6.6</h4>\n<ul>\n<li>Add an option to center image when the aspect ratio of image is different with that of the carousel item</li>\n</ul>\n<h4>Version 6.5</h4>\n<ul>\n<li>Keep HTML tags in post excerpts</li>\n</ul>\n<h4>Version 6.4</h4>\n<ul>\n<li>Fix a minor bug in the skin Flip</li>\n</ul>\n<h4>Version 6.3</h4>\n<ul>\n<li>Add a new skin Flip to create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-carousel-with-css3-flip-animation-effect-id41/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress carousel with CSS3 flip animation effect</a></li>\n</ul>\n<h4>Version 6.2</h4>\n<ul>\n<li>Add a new skin Hover Over to create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-carousel-with-text-hover-over-effect-id39/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress carousel with text hover over effect</a></li>\n<li>Add an option to specify the spacing between carousel items</li>\n</ul>\n<h4>Version 6.1</h4>\n<ul>\n<li>Support trash in carousel management. The deleted carousel will be moved to the trash in which you can restore or permanently delete it.</li>\n</ul>\n<h4>Version 6.0</h4>\n<ul>\n<li>Support lightbox auto slideshow</li>\n<li>Add an option to always show the previous and next navigation arrows on lightbox</li>\n<li>Display error notice on the WordPress Updates page if the free upgrade period is expired.</li>\n</ul>\n<h4>Version 5.9</h4>\n<ul>\n<li>Add an option to support adding the new item to the beginning of the list\n</li>\n<li>Add a function to reverse the media list</li>\n</ul>\n<h4>Version 5.8</h4>\n<ul>\n<li>Fix the border radius bug in the skin Simplicity\n</li>\n<li>Add a div container around the carousel div</li>\n</ul>\n<h4>Version 5.7</h4>\n<ul>\n<li>Add an option to hide MP4/WebM video play control bar on lightbox</li>\n<li>Add an option to display text on bottom, inside, left or right of the lightbox</li>\n<li>Add an option to display lightbox in fullscreen mode. In fullscreen mode, the close button will be displayed on the top right corner of the web browser</li>\n<li>Add an option to add prefix to title when the lightbox is displayed in gallery mode</li>\n<li>Add an option to enable or disable closing lightbox when clicking on the overlay background</li>\n<li>Move the left and right navigation arrows to the side of lightbox on touch screen. This will fix the issue of double clicking when playing video on iPhone, iPad and Android.</li>\n</ul>\n<h4>Version 5.6</h4>\n<ul>\n<li>Add an option to display all carousel thumbnails in same size even when the original images have different aspect ratio.\n</li>\n</ul>\n<h4>Version 5.5</h4>\n<ul>\n<li>Fix the bug of playing MP4 video on iPad iOS 9.1\n</li>\n</ul>\n<h4>Version 5.4</h4>\n<ul>\n<li>Fix the bug of video lightbox in iPad 2\n</li>\n</ul>\n<h4>Version 5.3</h4>\n<ul>\n<li>Fix the bug of options \"Scroll Mode\", \"Interval\" and \"Transition duration\" not working\n</li>\n</ul>\n<h4>Version 5.2</h4>\n<ul>\n<li>Support WordPress posts carousel: create carousels from recent WordPress posts or posts in specified categories\n</li>\n<li>Add a new skin \"Read More\"\n</li>\n</ul>\n<h4>Version 5.1</h4>\n<ul>\n<li>Fix a bug in continuous movement\n</li>\n</ul>\n<h4>Version 5.0</h4>\n<ul>\n<li>Add an option to not initialise the carousel when the page is loaded. This option is useful if you would like to manually initialise the carousel with JavaScript API.\n</li>\n<li>Add an option to add init scripts together with carousel HTML code. This option is useful if the WordPress website uses Ajax to load posts and pages.\n</li>\n</ul>\n<h4>Version 4.9</h4>\n<ul>\n<li>Fix bugs\n</li>\n</ul>\n<h4>Version 4.5</h4>\n<ul>\n<li>Add a new skin Auto Scroll to create <a target=\"_blank\" href=\"/wordpress-carousel/examples/wordpress-auto-scroll-carousel-id34/\" rel=\"noopener noreferrer\">automatically scrolling carousel</a>\n</li>\n<li>Add an option to pause carousel scrolling on mouse over\n</li>\n<li>Add options to specify the scrolling interval and transition duration\n</li>\n<li>Add an option to scroll by page or item\n</li>\n</ul>\n<h4>Version 4.4</h4>\n<ul>\n<li>Add an option to add slider js files to the footer\n</li>\n<li>Add an option to display carousels in text widgets\n</li>\n</ul>\n<h4>Version 4.3</h4>\n<ul>\n<li>Add a skin to create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-text-only-carousel-id32/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress text only carousel</a>\n</li>\n<li>Add a skin to create <a href=\"https://www.wonderplugin.com/wordpress-carousel/examples/wordpress-multiple-rows-carousel-id33/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress two rows carousel</a>\n</li>\n<li>Add an option \"Row number\" to define the number of rows\n</li>\n</ul>\n<h4>Version 4.2</h4>\n<ul>\n<li>Support version check and update\n</li>\n</ul>\";}s:3:\"key\";s:32:\"41560a358e9784eab3c49a3269814e36\";s:10:\"key_status\";s:5:\"valid\";s:10:\"key_expire\";i:0;s:7:\"package\";s:102:\"https://www.wonderplugin.com/update-download.php?product=carousel&key=41560a358e9784eab3c49a3269814e36\";s:13:\"download_link\";s:102:\"https://www.wonderplugin.com/update-download.php?product=carousel&key=41560a358e9784eab3c49a3269814e36\";s:4:\"slug\";s:21:\"wonderplugin-carousel\";s:6:\"plugin\";s:46:\"wonderplugin-carousel/wonderplugincarousel.php\";s:12:\"last_checked\";i:1686011959;}\";','yes'),(323157,'wonderplugin_carousel_userrole','manage_options','yes'),(323158,'wonderplugin_carousel_thumbnailsize','large','yes'),(323159,'wonderplugin-carousel-engine','WordPress Carousel Slider Plugin','yes'),(320394,'antispam_bee','a:26:{s:9:\"flag_spam\";i:0;s:12:\"email_notify\";i:0;s:14:\"cronjob_enable\";i:0;s:16:\"cronjob_interval\";i:0;s:9:\"no_notice\";i:0;s:15:\"dashboard_count\";i:0;s:15:\"dashboard_chart\";i:0;s:14:\"advanced_check\";i:1;s:12:\"regexp_check\";i:1;s:7:\"spam_ip\";i:1;s:17:\"already_commented\";i:1;s:10:\"time_check\";i:0;s:14:\"always_allowed\";i:0;s:12:\"ignore_pings\";i:0;s:13:\"ignore_filter\";i:0;s:11:\"ignore_type\";i:1;s:14:\"reasons_enable\";i:0;s:14:\"ignore_reasons\";a:0:{}s:12:\"bbcode_check\";i:1;s:14:\"gravatar_check\";i:0;s:12:\"country_code\";i:0;s:13:\"country_black\";s:0:\"\";s:13:\"country_white\";s:0:\"\";s:13:\"translate_api\";i:0;s:14:\"translate_lang\";a:0:{}s:24:\"delete_data_on_uninstall\";i:1;}','no'),(323169,'wonderplugin_3dcarousel_information','s:5780:\"O:8:\"stdClass\":18:{s:6:\"author\";s:19:\"Magic Hills Pty Ltd\";s:8:\"homepage\";s:50:\"https://www.wonderplugin.com/wordpress-3dcarousel/\";s:4:\"name\";s:18:\"Wonder 3D Carousel\";s:8:\"requires\";s:3:\"3.6\";s:6:\"tested\";s:3:\"5.5\";s:5:\"icons\";a:1:{s:7:\"default\";s:41:\"https://www.wonderplugin.com/icon-128.png\";}s:7:\"version\";s:3:\"3.8\";s:11:\"new_version\";s:3:\"3.8\";s:12:\"last_updated\";s:10:\"2020-08-21\";s:8:\"sections\";a:1:{s:10:\"change log\";s:4831:\"<h4>Version 3.8 - August 21, 2020</h4>\n<ul>\n<li>Fix compatibility issues with WordPress 5.5</li>\n</ul>\n<h4>Version 3.7 - May 29, 2020</h4>\n<ul>\n<li>Fix a bug when opening weblink in lightbox</li>\n</ul>\n<h4>Version 3.6 - May 28, 2020</h4>\n<ul>\n<li>Add an option to only enable the web link when the image is in the middle</li>\n<li>Fix the bug of texts not showing up in the preview tab</li>\n</ul>\n<h4>Version 3.5 - May 27, 2020</h4>\n<ul>\n<li>Add an option to not render CSS code to HTML</li>\n</ul>\n<h4>Version 3.4 - May 7, 2020</h4>\n<ul>\n<li>When creating a YouTube playlist carousel, instead of creating a dynamic YouTube playlist carousel, add an option to retrieve videos from the playlist and add them to the carousel.</li>\n</ul>\n<h4>Version 3.3 - August 28, 2019</h4>\n<ul>\n<li>Fix a bug when upgrading the plugin version 3.2</li>\n</ul>\n<h4>Version 3.2 - August 26, 2019</h4>\n<ul>\n<li>Change carousel editor UI color</li>\n</ul>\n<h4>Version 3.1 - July 22, 2019</h4>\n<ul>\n<li>Output carousel title and description to HTML code</li>\n</ul>\n<h4>Version 3.0 - July 17, 2019</h4>\n<ul>\n<li>Create 3D carousel for WooCommerce on sale products</li>\n</ul>\n<h4>Version 2.9 - July 3, 2019</h4>\n<ul>\n<li>Scaling up the carousel with the option \"scaling ratio of the carousel\"</li>\n<li>Add a function to display PHP info</li>\n</ul>\n<h4>Version 2.8 - June 22, 2019</h4>\n<ul>\n<li>Fix a bug with the plugin Autoptimize</li>\n</ul>\n<h4>Version 2.7 - May 17, 2019</h4>\n<ul>\n<li>Add a skin: 3D Slider with Hover Over Title</li>\n<li>Do not hide the image when the overlay text fades in</li>\n</ul>\n<h4>Version 2.6 - May 11, 2019</h4>\n<ul>\n<li>Support WordPress multilingual plugin WPML</li>\n</ul>\n<h4>Version 2.5 - April 16, 2019</h4>\n<ul>\n<li>Add a new skin: 3D Slider with Zoom In</li>\n<li>Change the default thumbnail size to large</li>\n<li>Read alt text from WordPress Media Library when adding images</li>\n</ul>\n<h4>Version 2.4 - December 4, 2018</h4>\n<ul>\n<li>Fix the problem when there are quotes in taxonomy terms when creating custom post type carousels</li>\n</ul>\n<h4>Version 2.3- September 26, 2018</h4>\n<ul>\n<li>Add an option to fix the issue with Jetpack image lazy load</li>\n<li>Update web browser URL after new carousel is created</li>\n</ul>\n<h4>Version 2.2 - August 13, 2018</h4>\n<ul>\n<li>Add an option to use numbers as navigation bullets</li>\n</ul>\n<h4>Version 2.1 - May 18, 2018</h4>\n<ul>\n<li>Fix minor bugs</li>\n</ul>\n<h4>Version 2.0 - January 6, 2018</h4>\n<ul>\n<li>Support WooCommerce product category fields: <code>%wc_product_cat_id%</code>, <code>%wc_product_cat_name%</code>, <code>%wc_product_cat_slug%</code> and <code>%wc_product_cat_link%</code></li>\n<li>Support displaying post category ID, name, slug and link. The following macro-variables are supported for WordPress post carousel: <code>__CATEGORYID__</code>, <code>__CATEGORYNAME__</code>, <code>__CATEGORYSLUG__</code>, <code>__CATEGORYLINK__</code></li>\n</ul>\n<h4>Version 1.9 - September 30, 2017</h4>\n<ul>\n<li>Add a new skin <a href=\"https://www.wonderplugin.com/wordpress-3dcarousel/examples/wordpress-carousel-slider-with-hoverover-text-id7/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress Carousel Slider with Hover Over Text</a></li>\n</ul>\n<h4>Version 1.8 - September 6, 2017</h4>\n<ul>\n<li>Add a new skin <a href=\"https://www.wonderplugin.com/wordpress-3dcarousel/examples/wordpress-carousel-with-dark-color-overlay-id5/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress Carousel Slider with Dark Overlay</a></li>\n<li>Fix the bug of exporting carousels to an xml file</li>\n</ul>\n<h4>Version 1.7 - August 21, 2017</h4>\n<ul>\n<li>Add a function \"Search and Replace\" in the \"Import/Export\" menu. This function can be used to search and replace domain names in the carousels when you move your WordPress site to a new domain or change to HTTPS secure site.</li>\n</ul>\n<h4>Version 1.6 - August 15, 2017</h4>\n<ul>\n<li>Fix a bug in WordPress posts 3d carousel</li>\n<li>Fix the compatibility warnings with PHP 7</li>\n</ul>\n<h4>Version 1.5 - August 3, 2017</h4>\n<ul>\n<li>Fix the bug of web browser jumping to the top when the lightbox is opened</li>\n<li>Fix a bug of touch swiping under Android 5 and below</li>\n<li>Add an option to use data-title for the title attribute of the &lt;a&gt; tag</li>\n<li>Change captions of some settings to make its meaning more clear</li>\n</ul>\n<h4>Version 1.4 - May 31, 2017</h4>\n<ul>\n<li>Fix a minor bug in version 1.3</li>\n</ul>\n<h4>Version 1.3 - May 30, 2017</h4>\n<ul>\n<li>Fix a bug of auto slideshow under Firefox</li>\n</ul>\n<h4>Version 1.2 - May 29, 2017</h4>\n<ul>\n<li>Fix a bug of auto slideshow and the option \"pause on mouse over\"</li>\n</ul>\n<h4>Version 1.1 - May 28, 2017</h4>\n<ul>\n<li>Fix the bug of flipping effect under Firefox</li>\n</ul>\n<h4>Version 1.0 - May 26, 2017</h4>\n<ul>\n<li>First version released</li>\n</ul>\";}s:3:\"key\";s:32:\"41560a358e9784eab3c49a3269814e36\";s:10:\"key_status\";s:5:\"valid\";s:10:\"key_expire\";i:0;s:7:\"package\";s:104:\"https://www.wonderplugin.com/update-download.php?product=3dcarousel&key=41560a358e9784eab3c49a3269814e36\";s:13:\"download_link\";s:104:\"https://www.wonderplugin.com/update-download.php?product=3dcarousel&key=41560a358e9784eab3c49a3269814e36\";s:4:\"slug\";s:23:\"wonderplugin-3dcarousel\";s:6:\"plugin\";s:51:\"wonderplugin-3dcarousel/wonderplugin-3dcarousel.php\";s:12:\"last_checked\";i:1598552064;}\";','yes'),(323166,'wonderplugin_3dcarousel_userrole','manage_options','yes'),(323167,'wonderplugin_3dcarousel_thumbnailsize','large','yes'),(323168,'wonderplugin-3dcarousel-engine','WordPress 3D Carousel Plugin','yes'),(326789,'rcp_license_status','valid','yes'),(323486,'ewww_image_optimizer_review_time','1569458515','no'),(318689,'widget_black-studio-tinymce','a:5:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:4:\"text\";s:169:\"<img src=\"https://usworkworld.com/wp-content/uploads/2019/07/LogoWithText.png\" alt=\"U.S. Work World\" width=\"494\" height=\"71\" class=\"alignnone size-full wp-image-9759\" />\";s:4:\"type\";s:4:\"html\";s:6:\"filter\";s:1:\"0\";}i:3;a:4:{s:5:\"title\";s:0:\"\";s:4:\"text\";s:55:\"<h3>Preparing Today\'s Students for Tomorrow\'s Jobs</h3>\";s:4:\"type\";s:4:\"html\";s:6:\"filter\";s:1:\"0\";}i:5;a:4:{s:5:\"title\";s:0:\"\";s:4:\"text\";s:185:\"<img src=\"https://usworkworld.com/wp-content/uploads/2019/08/main-leader.jpg\" alt=\"woman looking at heart monitor\" width=\"1170\" height=\"481\" class=\"alignnone size-full wp-image-9819\" />\";s:4:\"type\";s:4:\"html\";s:6:\"filter\";s:1:\"0\";}i:6;a:4:{s:5:\"title\";s:11:\"MEMBER INFO\";s:4:\"text\";s:101:\"<span class=\"light-blue\"><a href=\"https://usworkworld.com/signin/\">Your Membership Account</a></span>\";s:4:\"type\";s:4:\"html\";s:6:\"filter\";s:1:\"0\";}s:12:\"_multiwidget\";i:1;}','yes'),(318690,'ewww_image_optimizer_backup_files','','no'),(318950,'searchwp_doing_delta','','no'),(318682,'theme_mods_yourweblayout','a:3:{i:0;b:0;s:18:\"nav_menu_locations\";a:4:{s:7:\"primary\";i:8;s:9:\"secondary\";i:56;s:24:\"classroom-lessons-teaser\";i:10;s:17:\"classroom-lessons\";i:57;}s:18:\"custom_css_post_id\";i:-1;}','yes'),(318762,'searchwp_settings','a:20:{s:7:\"engines\";a:1:{s:7:\"default\";a:4:{s:4:\"post\";a:3:{s:7:\"enabled\";b:0;s:7:\"weights\";a:6:{s:3:\"tax\";a:3:{s:8:\"category\";i:0;s:8:\"post_tag\";i:0;s:11:\"post_format\";i:0;}s:5:\"title\";i:80;s:7:\"content\";i:100;s:7:\"excerpt\";i:40;s:4:\"slug\";i:60;s:7:\"comment\";i:1;}s:7:\"options\";a:4:{s:7:\"exclude\";s:0:\"\";s:12:\"attribute_to\";s:1:\"0\";s:6:\"parent\";s:1:\"0\";s:4:\"stem\";s:1:\"0\";}}s:4:\"page\";a:3:{s:7:\"enabled\";b:0;s:7:\"weights\";a:6:{s:3:\"tax\";a:0:{}s:5:\"title\";i:2;s:7:\"content\";i:1;s:4:\"slug\";i:2;s:2:\"cf\";a:0:{}s:7:\"comment\";i:1;}s:7:\"options\";a:4:{s:7:\"exclude\";s:0:\"\";s:12:\"attribute_to\";s:1:\"0\";s:6:\"parent\";s:1:\"0\";s:4:\"stem\";s:1:\"0\";}}s:10:\"attachment\";a:3:{s:7:\"enabled\";b:0;s:7:\"weights\";a:7:{s:3:\"tax\";a:0:{}s:5:\"title\";i:98;s:7:\"content\";i:1;s:7:\"excerpt\";i:2;s:4:\"slug\";i:3;s:2:\"cf\";a:0:{}s:7:\"comment\";i:0;}s:7:\"options\";a:5:{s:7:\"exclude\";s:0:\"\";s:12:\"attribute_to\";s:1:\"0\";s:6:\"parent\";s:1:\"0\";s:4:\"stem\";s:1:\"0\";s:5:\"mimes\";s:1:\"1\";}}s:12:\"dlm_download\";a:3:{s:7:\"enabled\";b:1;s:7:\"weights\";a:5:{s:2:\"cf\";a:0:{}s:3:\"tax\";a:2:{s:21:\"dlm_download_category\";i:0;s:16:\"dlm_download_tag\";i:30;}s:5:\"title\";i:80;s:7:\"content\";i:0;s:7:\"excerpt\";i:0;}s:7:\"options\";a:4:{s:7:\"exclude\";s:0:\"\";s:12:\"attribute_to\";s:1:\"0\";s:6:\"parent\";s:1:\"0\";s:4:\"stem\";s:1:\"0\";}}}}s:9:\"activated\";b:1;s:9:\"dismissed\";a:2:{s:16:\"filter_conflicts\";a:0:{}s:4:\"nags\";a:0:{}}s:7:\"notices\";a:0:{}s:20:\"valid_db_environment\";b:0;s:15:\"ignored_queries\";b:0;s:6:\"remote\";b:0;s:11:\"remote_meta\";b:0;s:14:\"nuke_on_delete\";b:0;s:16:\"initial_settings\";b:1;s:19:\"initial_index_built\";b:1;s:5:\"stats\";a:5:{s:13:\"last_activity\";i:1598938706;s:5:\"total\";i:508;s:9:\"remaining\";i:0;s:4:\"done\";i:508;s:10:\"in_process\";b:0;}s:7:\"running\";b:0;s:6:\"paused\";b:0;s:22:\"processing_purge_queue\";b:0;s:7:\"utf8mb4\";s:1:\"1\";s:8:\"endpoint\";s:0:\"\";s:14:\"legacy_engines\";b:0;s:11:\"index_dirty\";b:0;s:10:\"basic_auth\";s:2:\"no\";}','yes'),(318761,'update_mysticky_version_2_6','1','yes'),(318763,'searchwp_settings_backup','a:0:{}','no'),(318764,'searchwp_indexer','a:5:{s:19:\"initial_index_built\";b:1;s:5:\"stats\";a:5:{s:13:\"last_activity\";i:1598938706;s:5:\"total\";i:508;s:9:\"remaining\";i:0;s:4:\"done\";i:508;s:10:\"in_process\";b:0;}s:7:\"running\";b:0;s:6:\"paused\";b:0;s:22:\"processing_purge_queue\";b:0;}','no'),(318775,'searchwp_delta_attempts','0','no'),(318776,'searchwp_processing_purge_queue','0','no'),(318765,'searchwp_purge_queue','a:0:{}','no'),(318766,'searchwp_progress','100.00','no'),(318767,'searchwp_utf8mb4','1','no'),(318768,'searchwp_version','4.3.1','yes'),(318774,'searchwp_busy','','no'),(318780,'searchwp_license_key','338e7b13a4df338a070ea1d31311a2e9','yes'),(318798,'edd_sl_f911c96c3ed9d9b9810024f3ca130438','a:2:{s:7:\"timeout\";i:1598974650;s:5:\"value\";s:15384:\"{\"new_version\":\"3.1.15\",\"stable_version\":\"3.1.15\",\"name\":\"SearchWP\",\"slug\":\"searchwp\",\"url\":\"https:\\/\\/searchwp.com\\/downloads\\/searchwp\\/?changelog=1\",\"last_updated\":\"2020-08-19 08:58:42\",\"homepage\":\"https:\\/\\/searchwp.com\\/downloads\\/searchwp\\/\",\"package\":\"https:\\/\\/searchwp.com\\/edd-sl\\/package_download\\/MTU5OTA3OTA1MDozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOTo4OjVmNGZkNGY4M2ZjMzQwOTlhMzZjYTM5OWQ5YzYxM2RjOmh0dHBzQC8vdXN3b3Jrd29ybGQuY29tOjA=\",\"download_link\":\"https:\\/\\/searchwp.com\\/edd-sl\\/package_download\\/MTU5OTA3OTA1MDozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOTo4OjVmNGZkNGY4M2ZjMzQwOTlhMzZjYTM5OWQ5YzYxM2RjOmh0dHBzQC8vdXN3b3Jrd29ybGQuY29tOjA=\",\"sections\":{\"description\":\"\",\"changelog\":\"<p><strong>Note:<\\/strong> SearchWP 4 has been released! Automatic upgrade is not available in this case, please read the <a href=\\\"https:\\/\\/searchwp.com\\/documentation\\/migration-guide\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">Migration Guide<\\/a> for more information.<\\/p>\\n<p>3.1.15<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Updates deprecated jQuery function<\\/li>\\n<\\/ul>\\n<p>3.1.14<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Character encoding issue in PDF parsing in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.13<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with PDF parsing in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>3.1.12<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with partial match return values in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Notice about Deprecated array syntax<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.11<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with synonym partial matching not working as expected in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.10<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with supported post type attributes not appearing in all cases<\\/li>\\n<li><strong>[Change]<\\/strong> Template conflict detection is now opt-in<\\/li>\\n<li><strong>[Update]<\\/strong> Updated dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.9<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Logic issue with one of the query limiters in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.8<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp_query_strict_limiters filter allowing you to <em>opt out<\\/em> of some search query limiters<\\/li>\\n<li><strong>[Change]<\\/strong> Some private properties\\/methods have been made public<\\/li>\\n<\\/ul>\\n<p>3.1.7<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with finding partial matches in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> PHP 7.4 compatibility<\\/li>\\n<li><strong>[Update]<\\/strong> Adds class reference to some hooks<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.6<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Default partial match minimum length updated to 3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of quoted searches when highlighting<\\/li>\\n<li><strong>[Improvement]<\\/strong> Integration with WordPress 5.3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Exact matches given more weight when finding partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query quoted search handling in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.5<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Performance when considering document processing<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches resource usage<\\/li>\\n<\\/ul>\\n<p>3.1.4<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced when debugging is enabled and FS_METHOD = ftpext is imposed<\\/li>\\n<li><strong>[Fix]<\\/strong> Custom built admin searches not working as expected in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Search query performance<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of AND logic when considering partial matches and synonyms<\\/li>\\n<li><strong>[Improvement]<\\/strong> Improve performance of partial match handling<\\/li>\\n<li><strong>[Improvement]<\\/strong> Prevention of redundant queries in some cases<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_excerpt_consider_comments to consider Comments when generating global excerpts if no highlight is found<\\/li>\\n<\\/ul>\\n<p>3.1.3<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with tokenizing during searches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Fixes a regression in synonym processing introduced in 3.1<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when performing searches<\\/li>\\n<\\/ul>\\n<p>3.1.2<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Indexer performance regression introduced in 3.1<\\/li>\\n<li><strong>[Fix]<\\/strong> Inaccurate notice displayed when searching in the admin in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> JavaScript error when adding Custom Fields to engines<\\/li>\\n<\\/ul>\\n<p>3.1<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Partial term matching now requires PHP 5.4+<\\/li>\\n<li><strong>[Change]<\\/strong> Synonym handling has been improved, for full explanation see <a href=\\\"https:\\/\\/searchwp.com\\/?p=193232\\\">https:\\/\\/searchwp.com\\/?p=193232<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Support (with caveats) for quoted\\/phrase\\/sentence searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190759\\\">https:\\/\\/searchwp.com\\/?p=190759<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Automatic \\\"Did you mean\\\" handling for misspelled searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190545\\\">https:\\/\\/searchwp.com\\/?p=190545<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Adds core support for keyword stemming for these language codes: EN, DA, NL, FR, DE, IT, NB, NN, PT, RO, RU, ES, SV (if you are using an Extension you can remove it)<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_query_collate_override to override table COLLATE<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_minimum_word_length to control highlighter minimum word length<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_persist_extra_metadata to control whether Extra Metadata is persisted (e.g. to support quoted searches for that data)<\\/li>\\n<li><strong>[New]<\\/strong> Detection for background indexer communication failure in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Global excerpts now implement WordPress\' excerpt_more output where applicable<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match highlighting is more accurate<\\/li>\\n<li><strong>[Improvement]<\\/strong> JavaScript bundlers have been reconfigured and optimized<\\/li>\\n<li><strong>[Fix]<\\/strong> Account for AND logic refinement being too aggressive in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Trigger index when scheduled posts are published<\\/li>\\n<li><strong>[Fix]<\\/strong> Delta updates when editing via Quick Edit<\\/li>\\n<li><strong>[Fix]<\\/strong> Better checks against index when evaluating partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query results are no longer incorrectly overridden with subsequent calls to SWP_Query-&gt;get_posts()<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlighter partial match setting now defaults to core partial match setting<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning when processing purge queue in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Parent weight transfer for Media is no longer enabled by default<\\/li>\\n<li><strong>[Fix]<\\/strong> Global highlight functions are now initialized in a more accessible way<\\/li>\\n<li><strong>[Fix]<\\/strong> z-index problem when adding a Post Type to an engine<\\/li>\\n<li><strong>[Fix]<\\/strong> More consistent handling of internal metadata types<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent inapplicable post types from being considered for search when in the WordPress Dashboard<\\/li>\\n<li><strong>[Fix]<\\/strong> Take exclusive regex matches into consideration when tokenizing<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>For older versions please see <a href=\\\"https:\\/\\/searchwp.com\\/docs\\/changelog-archive\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">the changelog archive<\\/a><\\/p>\\n\"},\"banners\":{\"high\":\"\",\"low\":\"\"},\"icons\":[],\"requires_php\":\"5.6.0\",\"description\":[\"\"],\"changelog\":[\"<p><strong>Note:<\\/strong> SearchWP 4 has been released! Automatic upgrade is not available in this case, please read the <a href=\\\"https:\\/\\/searchwp.com\\/documentation\\/migration-guide\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">Migration Guide<\\/a> for more information.<\\/p>\\n<p>3.1.15<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Updates deprecated jQuery function<\\/li>\\n<\\/ul>\\n<p>3.1.14<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Character encoding issue in PDF parsing in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.13<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with PDF parsing in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>3.1.12<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with partial match return values in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Notice about Deprecated array syntax<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.11<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with synonym partial matching not working as expected in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.10<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with supported post type attributes not appearing in all cases<\\/li>\\n<li><strong>[Change]<\\/strong> Template conflict detection is now opt-in<\\/li>\\n<li><strong>[Update]<\\/strong> Updated dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.9<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Logic issue with one of the query limiters in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.8<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp_query_strict_limiters filter allowing you to <em>opt out<\\/em> of some search query limiters<\\/li>\\n<li><strong>[Change]<\\/strong> Some private properties\\/methods have been made public<\\/li>\\n<\\/ul>\\n<p>3.1.7<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with finding partial matches in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> PHP 7.4 compatibility<\\/li>\\n<li><strong>[Update]<\\/strong> Adds class reference to some hooks<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.6<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Default partial match minimum length updated to 3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of quoted searches when highlighting<\\/li>\\n<li><strong>[Improvement]<\\/strong> Integration with WordPress 5.3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Exact matches given more weight when finding partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query quoted search handling in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.5<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Performance when considering document processing<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches resource usage<\\/li>\\n<\\/ul>\\n<p>3.1.4<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced when debugging is enabled and FS_METHOD = ftpext is imposed<\\/li>\\n<li><strong>[Fix]<\\/strong> Custom built admin searches not working as expected in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Search query performance<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of AND logic when considering partial matches and synonyms<\\/li>\\n<li><strong>[Improvement]<\\/strong> Improve performance of partial match handling<\\/li>\\n<li><strong>[Improvement]<\\/strong> Prevention of redundant queries in some cases<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_excerpt_consider_comments to consider Comments when generating global excerpts if no highlight is found<\\/li>\\n<\\/ul>\\n<p>3.1.3<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with tokenizing during searches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Fixes a regression in synonym processing introduced in 3.1<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when performing searches<\\/li>\\n<\\/ul>\\n<p>3.1.2<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Indexer performance regression introduced in 3.1<\\/li>\\n<li><strong>[Fix]<\\/strong> Inaccurate notice displayed when searching in the admin in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> JavaScript error when adding Custom Fields to engines<\\/li>\\n<\\/ul>\\n<p>3.1<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Partial term matching now requires PHP 5.4+<\\/li>\\n<li><strong>[Change]<\\/strong> Synonym handling has been improved, for full explanation see <a href=\\\"https:\\/\\/searchwp.com\\/?p=193232\\\">https:\\/\\/searchwp.com\\/?p=193232<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Support (with caveats) for quoted\\/phrase\\/sentence searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190759\\\">https:\\/\\/searchwp.com\\/?p=190759<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Automatic \\\"Did you mean\\\" handling for misspelled searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190545\\\">https:\\/\\/searchwp.com\\/?p=190545<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Adds core support for keyword stemming for these language codes: EN, DA, NL, FR, DE, IT, NB, NN, PT, RO, RU, ES, SV (if you are using an Extension you can remove it)<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_query_collate_override to override table COLLATE<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_minimum_word_length to control highlighter minimum word length<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_persist_extra_metadata to control whether Extra Metadata is persisted (e.g. to support quoted searches for that data)<\\/li>\\n<li><strong>[New]<\\/strong> Detection for background indexer communication failure in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Global excerpts now implement WordPress\' excerpt_more output where applicable<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match highlighting is more accurate<\\/li>\\n<li><strong>[Improvement]<\\/strong> JavaScript bundlers have been reconfigured and optimized<\\/li>\\n<li><strong>[Fix]<\\/strong> Account for AND logic refinement being too aggressive in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Trigger index when scheduled posts are published<\\/li>\\n<li><strong>[Fix]<\\/strong> Delta updates when editing via Quick Edit<\\/li>\\n<li><strong>[Fix]<\\/strong> Better checks against index when evaluating partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query results are no longer incorrectly overridden with subsequent calls to SWP_Query-&gt;get_posts()<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlighter partial match setting now defaults to core partial match setting<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning when processing purge queue in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Parent weight transfer for Media is no longer enabled by default<\\/li>\\n<li><strong>[Fix]<\\/strong> Global highlight functions are now initialized in a more accessible way<\\/li>\\n<li><strong>[Fix]<\\/strong> z-index problem when adding a Post Type to an engine<\\/li>\\n<li><strong>[Fix]<\\/strong> More consistent handling of internal metadata types<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent inapplicable post types from being considered for search when in the WordPress Dashboard<\\/li>\\n<li><strong>[Fix]<\\/strong> Take exclusive regex matches into consideration when tokenizing<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>For older versions please see <a href=\\\"https:\\/\\/searchwp.com\\/docs\\/changelog-archive\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">the changelog archive<\\/a><\\/p>\\n\"]}\";}','no'),(385482,'ithemes-updater-keys','a:1:{s:20:\"restrict-content-pro\";s:16:\"ot4yl335lva2lusi\";}','no'),(561300,'_transient_timeout_dlm_file_version_ids_7528','1697601887','no'),(561301,'_transient_dlm_file_version_ids_7528','a:1:{i:0;i:13229;}','no'),(561113,'_transient_dlm_file_version_ids_5302','a:1:{i:0;i:12442;}','no'),(561114,'_transient_timeout_dlm_file_version_ids_7446','1697588948','no'),(561115,'_transient_dlm_file_version_ids_7446','a:1:{i:0;i:12401;}','no'),(561116,'_transient_timeout_dlm_file_version_ids_7450','1697588948','no'),(561117,'_transient_dlm_file_version_ids_7450','a:1:{i:0;i:12400;}','no'),(561118,'_transient_timeout_dlm_file_version_ids_5314','1697588948','no'),(561119,'_transient_dlm_file_version_ids_5314','a:1:{i:0;i:12403;}','no'),(561120,'_transient_timeout_dlm_file_version_ids_5316','1697588948','no'),(561121,'_transient_dlm_file_version_ids_5316','a:1:{i:0;i:12402;}','no'),(561122,'_transient_timeout_dlm_file_version_ids_13837','1697588948','no'),(561123,'_transient_dlm_file_version_ids_13837','a:1:{i:0;i:13886;}','no'),(561124,'_transient_timeout_dlm_file_version_ids_13839','1697588948','no'),(561125,'_transient_dlm_file_version_ids_13839','a:1:{i:0;i:13887;}','no'),(561126,'_transient_timeout_dlm_file_version_ids_12397','1697588948','no'),(561127,'_transient_dlm_file_version_ids_12397','a:1:{i:0;i:12398;}','no'),(561128,'_transient_timeout_dlm_file_version_ids_8162','1697588948','no'),(561129,'_transient_dlm_file_version_ids_8162','a:1:{i:0;i:12399;}','no'),(561130,'_transient_timeout_dlm_file_version_ids_12421','1697588948','no'),(561131,'_transient_dlm_file_version_ids_12421','a:1:{i:0;i:12422;}','no'),(561132,'_transient_timeout_dlm_file_version_ids_12423','1697588948','no'),(561133,'_transient_dlm_file_version_ids_12423','a:1:{i:0;i:12424;}','no'),(561134,'_transient_timeout_dlm_file_version_ids_7697','1697588948','no'),(561135,'_transient_dlm_file_version_ids_7697','a:1:{i:0;i:12729;}','no'),(561136,'_transient_timeout_dlm_file_version_ids_12721','1697588948','no'),(561137,'_transient_dlm_file_version_ids_12721','a:2:{i:0;i:12726;i:1;i:12724;}','no'),(561138,'_transient_timeout_dlm_file_version_ids_5318','1697588948','no'),(561139,'_transient_dlm_file_version_ids_5318','a:1:{i:0;i:12414;}','no'),(561140,'_transient_timeout_dlm_file_version_ids_5320','1697588948','no'),(561141,'_transient_dlm_file_version_ids_5320','a:1:{i:0;i:12418;}','no'),(561142,'_transient_timeout_dlm_file_version_ids_5324','1697588948','no'),(561143,'_transient_dlm_file_version_ids_5324','a:1:{i:0;i:12415;}','no'),(561144,'_transient_timeout_dlm_file_version_ids_12526','1697588948','no'),(561145,'_transient_dlm_file_version_ids_12526','a:1:{i:0;i:12527;}','no'),(561146,'_transient_timeout_dlm_file_version_ids_5328','1697588948','no'),(561147,'_transient_dlm_file_version_ids_5328','a:1:{i:0;i:12417;}','no'),(561148,'_transient_timeout_dlm_file_version_ids_5308','1697588948','no'),(561149,'_transient_dlm_file_version_ids_5308','a:1:{i:0;i:12410;}','no'),(561150,'_transient_timeout_dlm_file_version_ids_12419','1697588948','no'),(561151,'_transient_dlm_file_version_ids_12419','a:1:{i:0;i:12420;}','no'),(561152,'_transient_timeout_dlm_file_version_ids_5312','1697588948','no'),(561153,'_transient_dlm_file_version_ids_5312','a:1:{i:0;i:12409;}','no'),(561154,'_transient_timeout_dlm_file_version_ids_5310','1697588948','no'),(561155,'_transient_dlm_file_version_ids_5310','a:1:{i:0;i:12407;}','no'),(561156,'_transient_timeout_dlm_file_version_ids_5326','1697588948','no'),(561157,'_transient_dlm_file_version_ids_5326','a:1:{i:0;i:12408;}','no'),(561158,'_transient_timeout_dlm_file_version_ids_12524','1697588948','no'),(561159,'_transient_dlm_file_version_ids_12524','a:1:{i:0;i:12525;}','no'),(668263,'_transient_timeout_dlm_file_version_ids_12536','1708664553','no'),(668264,'_transient_dlm_file_version_ids_12536','a:1:{i:0;i:14114;}','no'),(561166,'_transient_timeout_dlm_file_version_ids_12507','1697588948','no'),(561167,'_transient_dlm_file_version_ids_12507','a:1:{i:0;i:12516;}','no'),(561168,'_transient_timeout_dlm_file_version_ids_12505','1697588948','no'),(561169,'_transient_dlm_file_version_ids_12505','a:1:{i:0;i:13570;}','no'),(561170,'_transient_timeout_dlm_file_version_ids_12511','1697588948','no'),(561171,'_transient_dlm_file_version_ids_12511','a:1:{i:0;i:12515;}','no'),(561172,'_transient_timeout_dlm_file_version_ids_12513','1697588948','no'),(561173,'_transient_dlm_file_version_ids_12513','a:1:{i:0;i:12514;}','no'),(561174,'_transient_timeout_dlm_file_version_ids_12518','1697588948','no'),(561175,'_transient_dlm_file_version_ids_12518','a:1:{i:0;i:13571;}','no'),(561176,'_transient_timeout_dlm_file_version_ids_12520','1697588948','no'),(561177,'_transient_dlm_file_version_ids_12520','a:1:{i:0;i:12521;}','no'),(561178,'_transient_timeout_dlm_file_version_ids_12522','1697588948','no'),(561179,'_transient_dlm_file_version_ids_12522','a:1:{i:0;i:12523;}','no'),(561180,'_transient_timeout_dlm_file_version_ids_5331','1697588948','no'),(561181,'_transient_dlm_file_version_ids_5331','a:1:{i:0;i:12481;}','no'),(561182,'_transient_timeout_dlm_file_version_ids_5333','1697588948','no'),(561183,'_transient_dlm_file_version_ids_5333','a:1:{i:0;i:12480;}','no'),(561184,'_transient_timeout_dlm_file_version_ids_5335','1697588948','no'),(561185,'_transient_dlm_file_version_ids_5335','a:1:{i:0;i:12479;}','no'),(561186,'_transient_timeout_dlm_file_version_ids_5337','1697588948','no'),(561187,'_transient_dlm_file_version_ids_5337','a:1:{i:0;i:12478;}','no'),(456232,'wp_force_deactivated_plugins','a:0:{}','yes'),(456229,'widget_block','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(443192,'ewww_image_optimizer_resize_existing','1','yes'),(443193,'ewww_image_optimizer_exactdn_plan_id','0','yes'),(591149,'ctf_version','2.0.3','yes'),(591151,'widget_custom-twitter-feeds-widget','a:1:{s:12:\"_multiwidget\";i:1;}','yes'),(593564,'_transient_dlm_file_version_ids_13905','a:0:{}','no'),(441155,'max_file_size','536870912','yes'),(600432,'wsal_db_version','44400','yes'),(484246,'dlm_aam_shortcode_hide_no_access','','yes'),(429007,'ewww_image_optimizer_ll_autoscale','1','yes'),(429006,'searchwp_last_health_check','1685986879','no'),(429008,'ewww_image_optimizer_ll_all_things','','yes'),(429016,'https_detection_errors','a:0:{}','yes'),(331342,'searchwp_license_status','valid','yes'),(331343,'searchwp_license_expiration','1595635199','yes'),(326813,'swppurge_transient','1598855867.5056769847869873046875','no'),(331107,'admin_email_lifespan','1666492270','yes'),(659680,'_transient_timeout_dlm_file_version_ids_9470','1707801379','no'),(659681,'_transient_dlm_file_version_ids_9470','a:1:{i:0;i:14062;}','no'),(370569,'disallowed_keys','','no'),(370570,'comment_previously_approved','','yes'),(370571,'auto_plugin_theme_update_emails','a:0:{}','no'),(378741,'ewww_image_optimizer_svg_level','0','yes'),(378742,'ewww_image_optimizer_jpg_quality','','yes'),(378743,'ewww_image_optimizer_webp_quality','','yes'),(378744,'ewww_image_optimizer_disable_svgcleaner','1','yes'),(365626,'duplicator_lite_inst_hash_notice','1','yes'),(368962,'ithemes-updater-cache','a:15:{s:18:\"timeout-multiplier\";i:1;s:10:\"expiration\";i:1686055189;s:9:\"timestamp\";i:1686011989;s:8:\"packages\";a:2:{i:0;s:4:\"REPO\";i:1;s:20:\"restrict-content-pro\";}s:14:\"update_plugins\";a:0:{}s:24:\"update_plugins_no_update\";a:1:{s:45:\"restrict-content-pro/restrict-content-pro.php\";O:8:\"stdClass\":11:{s:2:\"id\";i:0;s:5:\"icons\";a:0:{}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:11:\"new_version\";s:6:\"3.5.31\";s:3:\"url\";s:0:\"\";s:7:\"package\";s:216:\"https://s3.amazonaws.com/downloads.ithemes.com/products/plugins/restrict-content-pro/restrict-content-pro-3.5.31.zip?AWSAccessKeyId=AKIAJCKIL4GVMBUTKMLA&Expires=1686101989&Signature=AyMpRFjmEv3J6sD%2Br%2FTxkd0St3o%3D\";s:8:\"requires\";s:0:\"\";s:12:\"requires_php\";s:0:\"\";s:4:\"slug\";s:20:\"restrict-content-pro\";s:6:\"plugin\";s:45:\"restrict-content-pro/restrict-content-pro.php\";}}s:13:\"update_themes\";a:0:{}s:23:\"update_themes_no_update\";a:0:{}s:12:\"use_ca_patch\";b:0;s:7:\"use_ssl\";b:1;s:14:\"quick_releases\";b:0;s:16:\"site_url_history\";a:2:{s:23:\"https://usworkworld.com\";i:1686011958;s:22:\"http://usworkworld.com\";i:1685245095;}s:18:\"timeout-mulitplier\";i:1;s:8:\"site_url\";s:15:\"usworkworld.com\";s:15:\"package_details\";a:2:{s:37:\"restrict-content-pro-download-monitor\";a:4:{s:4:\"type\";s:6:\"plugin\";s:4:\"path\";s:62:\"restrict-content-pro-download-monitor/rcp-download-monitor.php\";s:7:\"version\";s:5:\"1.0.5\";s:14:\"license_status\";s:10:\"unlicensed\";}s:20:\"restrict-content-pro\";a:4:{s:4:\"type\";s:6:\"plugin\";s:4:\"path\";s:45:\"restrict-content-pro/restrict-content-pro.php\";s:7:\"version\";s:6:\"3.5.31\";s:14:\"license_status\";s:6:\"active\";}}}','no'),(473832,'download_monitor_wisdom_block_notice','a:1:{s:16:\"download-monitor\";s:16:\"download-monitor\";}','yes'),(600427,'wsal_installed_plugin_addon_available','a:1:{i:0;s:6:\"wp-seo\";}','no'),(513125,'rewrite_rules','','yes'),(735188,'_site_transient_update_plugins','O:8:\"stdClass\":5:{s:12:\"last_checked\";i:1686011965;s:8:\"response\";a:6:{s:57:\"acf-content-analysis-for-yoast-seo/yoast-acf-analysis.php\";O:8:\"stdClass\":12:{s:2:\"id\";s:48:\"w.org/plugins/acf-content-analysis-for-yoast-seo\";s:4:\"slug\";s:34:\"acf-content-analysis-for-yoast-seo\";s:6:\"plugin\";s:57:\"acf-content-analysis-for-yoast-seo/yoast-acf-analysis.php\";s:11:\"new_version\";s:3:\"3.1\";s:3:\"url\";s:65:\"https://wordpress.org/plugins/acf-content-analysis-for-yoast-seo/\";s:7:\"package\";s:81:\"https://downloads.wordpress.org/plugin/acf-content-analysis-for-yoast-seo.3.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:87:\"https://ps.w.org/acf-content-analysis-for-yoast-seo/assets/icon-256x256.png?rev=1717503\";s:2:\"1x\";s:87:\"https://ps.w.org/acf-content-analysis-for-yoast-seo/assets/icon-128x128.png?rev=1717503\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:90:\"https://ps.w.org/acf-content-analysis-for-yoast-seo/assets/banner-1544x500.png?rev=1717503\";s:2:\"1x\";s:89:\"https://ps.w.org/acf-content-analysis-for-yoast-seo/assets/banner-772x250.png?rev=1717503\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"6.1\";s:6:\"tested\";s:5:\"6.2.2\";s:12:\"requires_php\";s:5:\"7.2.5\";}s:51:\"all-in-one-wp-migration/all-in-one-wp-migration.php\";O:8:\"stdClass\":12:{s:2:\"id\";s:37:\"w.org/plugins/all-in-one-wp-migration\";s:4:\"slug\";s:23:\"all-in-one-wp-migration\";s:6:\"plugin\";s:51:\"all-in-one-wp-migration/all-in-one-wp-migration.php\";s:11:\"new_version\";s:4:\"7.75\";s:3:\"url\";s:54:\"https://wordpress.org/plugins/all-in-one-wp-migration/\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/plugin/all-in-one-wp-migration.7.75.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:76:\"https://ps.w.org/all-in-one-wp-migration/assets/icon-256x256.png?rev=2458334\";s:2:\"1x\";s:76:\"https://ps.w.org/all-in-one-wp-migration/assets/icon-128x128.png?rev=2458334\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:79:\"https://ps.w.org/all-in-one-wp-migration/assets/banner-1544x500.png?rev=2902233\";s:2:\"1x\";s:78:\"https://ps.w.org/all-in-one-wp-migration/assets/banner-772x250.png?rev=2902233\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.3\";s:6:\"tested\";s:5:\"6.2.2\";s:12:\"requires_php\";s:3:\"5.3\";}s:37:\"download-monitor/download-monitor.php\";O:8:\"stdClass\":12:{s:2:\"id\";s:30:\"w.org/plugins/download-monitor\";s:4:\"slug\";s:16:\"download-monitor\";s:6:\"plugin\";s:37:\"download-monitor/download-monitor.php\";s:11:\"new_version\";s:5:\"4.8.3\";s:3:\"url\";s:47:\"https://wordpress.org/plugins/download-monitor/\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/plugin/download-monitor.4.8.3.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:69:\"https://ps.w.org/download-monitor/assets/icon-256x256.png?rev=2794567\";s:2:\"1x\";s:69:\"https://ps.w.org/download-monitor/assets/icon-128x128.png?rev=2794572\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:71:\"https://ps.w.org/download-monitor/assets/banner-772x250.png?rev=2794452\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.4\";s:6:\"tested\";s:5:\"6.2.2\";s:12:\"requires_php\";s:3:\"5.6\";}s:45:\"ewww-image-optimizer/ewww-image-optimizer.php\";O:8:\"stdClass\":12:{s:2:\"id\";s:34:\"w.org/plugins/ewww-image-optimizer\";s:4:\"slug\";s:20:\"ewww-image-optimizer\";s:6:\"plugin\";s:45:\"ewww-image-optimizer/ewww-image-optimizer.php\";s:11:\"new_version\";s:5:\"7.0.1\";s:3:\"url\";s:51:\"https://wordpress.org/plugins/ewww-image-optimizer/\";s:7:\"package\";s:69:\"https://downloads.wordpress.org/plugin/ewww-image-optimizer.7.0.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:73:\"https://ps.w.org/ewww-image-optimizer/assets/icon-256x256.png?rev=1582276\";s:2:\"1x\";s:73:\"https://ps.w.org/ewww-image-optimizer/assets/icon-128x128.png?rev=1582276\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:76:\"https://ps.w.org/ewww-image-optimizer/assets/banner-1544x500.jpg?rev=1582276\";s:2:\"1x\";s:75:\"https://ps.w.org/ewww-image-optimizer/assets/banner-772x250.jpg?rev=1582276\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.8\";s:6:\"tested\";s:5:\"6.2.2\";s:12:\"requires_php\";s:3:\"7.2\";}s:47:\"file-manager-advanced/file_manager_advanced.php\";O:8:\"stdClass\":12:{s:2:\"id\";s:35:\"w.org/plugins/file-manager-advanced\";s:4:\"slug\";s:21:\"file-manager-advanced\";s:6:\"plugin\";s:47:\"file-manager-advanced/file_manager_advanced.php\";s:11:\"new_version\";s:5:\"5.0.5\";s:3:\"url\";s:52:\"https://wordpress.org/plugins/file-manager-advanced/\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/plugin/file-manager-advanced.zip\";s:5:\"icons\";a:1:{s:2:\"1x\";s:74:\"https://ps.w.org/file-manager-advanced/assets/icon-128x128.png?rev=1947474\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:76:\"https://ps.w.org/file-manager-advanced/assets/banner-772x250.png?rev=2839960\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.0\";s:6:\"tested\";s:5:\"6.2.2\";s:12:\"requires_php\";s:3:\"7.0\";}s:24:\"wordpress-seo/wp-seo.php\";O:8:\"stdClass\":12:{s:2:\"id\";s:27:\"w.org/plugins/wordpress-seo\";s:4:\"slug\";s:13:\"wordpress-seo\";s:6:\"plugin\";s:24:\"wordpress-seo/wp-seo.php\";s:11:\"new_version\";s:4:\"20.8\";s:3:\"url\";s:44:\"https://wordpress.org/plugins/wordpress-seo/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/plugin/wordpress-seo.20.8.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:58:\"https://ps.w.org/wordpress-seo/assets/icon.svg?rev=2363699\";s:3:\"svg\";s:58:\"https://ps.w.org/wordpress-seo/assets/icon.svg?rev=2363699\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:69:\"https://ps.w.org/wordpress-seo/assets/banner-1544x500.png?rev=2643727\";s:2:\"1x\";s:68:\"https://ps.w.org/wordpress-seo/assets/banner-772x250.png?rev=2643727\";}s:11:\"banners_rtl\";a:2:{s:2:\"2x\";s:73:\"https://ps.w.org/wordpress-seo/assets/banner-1544x500-rtl.png?rev=2643727\";s:2:\"1x\";s:72:\"https://ps.w.org/wordpress-seo/assets/banner-772x250-rtl.png?rev=2643727\";}s:8:\"requires\";s:3:\"6.1\";s:6:\"tested\";s:5:\"6.2.2\";s:12:\"requires_php\";s:5:\"7.2.5\";}}s:12:\"translations\";a:0:{}s:9:\"no_update\";a:21:{s:30:\"advanced-custom-fields/acf.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:36:\"w.org/plugins/advanced-custom-fields\";s:4:\"slug\";s:22:\"advanced-custom-fields\";s:6:\"plugin\";s:30:\"advanced-custom-fields/acf.php\";s:11:\"new_version\";s:5:\"6.1.6\";s:3:\"url\";s:53:\"https://wordpress.org/plugins/advanced-custom-fields/\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/plugin/advanced-custom-fields.6.1.6.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:75:\"https://ps.w.org/advanced-custom-fields/assets/icon-256x256.png?rev=1082746\";s:2:\"1x\";s:75:\"https://ps.w.org/advanced-custom-fields/assets/icon-128x128.png?rev=1082746\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:78:\"https://ps.w.org/advanced-custom-fields/assets/banner-1544x500.jpg?rev=2892919\";s:2:\"1x\";s:77:\"https://ps.w.org/advanced-custom-fields/assets/banner-772x250.jpg?rev=2892919\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.7\";}s:19:\"akismet/akismet.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:21:\"w.org/plugins/akismet\";s:4:\"slug\";s:7:\"akismet\";s:6:\"plugin\";s:19:\"akismet/akismet.php\";s:11:\"new_version\";s:3:\"5.1\";s:3:\"url\";s:38:\"https://wordpress.org/plugins/akismet/\";s:7:\"package\";s:54:\"https://downloads.wordpress.org/plugin/akismet.5.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:60:\"https://ps.w.org/akismet/assets/icon-256x256.png?rev=2818463\";s:2:\"1x\";s:60:\"https://ps.w.org/akismet/assets/icon-128x128.png?rev=2818463\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:63:\"https://ps.w.org/akismet/assets/banner-1544x500.png?rev=2900731\";s:2:\"1x\";s:62:\"https://ps.w.org/akismet/assets/banner-772x250.png?rev=2900731\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.0\";}s:29:\"antispam-bee/antispam_bee.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:26:\"w.org/plugins/antispam-bee\";s:4:\"slug\";s:12:\"antispam-bee\";s:6:\"plugin\";s:29:\"antispam-bee/antispam_bee.php\";s:11:\"new_version\";s:6:\"2.11.3\";s:3:\"url\";s:43:\"https://wordpress.org/plugins/antispam-bee/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/plugin/antispam-bee.2.11.3.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:65:\"https://ps.w.org/antispam-bee/assets/icon-256x256.png?rev=2898402\";s:2:\"1x\";s:65:\"https://ps.w.org/antispam-bee/assets/icon-128x128.png?rev=2898402\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:68:\"https://ps.w.org/antispam-bee/assets/banner-1544x500.png?rev=2898402\";s:2:\"1x\";s:67:\"https://ps.w.org/antispam-bee/assets/banner-772x250.png?rev=2898402\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.5\";}s:59:\"black-studio-tinymce-widget/black-studio-tinymce-widget.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:41:\"w.org/plugins/black-studio-tinymce-widget\";s:4:\"slug\";s:27:\"black-studio-tinymce-widget\";s:6:\"plugin\";s:59:\"black-studio-tinymce-widget/black-studio-tinymce-widget.php\";s:11:\"new_version\";s:5:\"2.7.2\";s:3:\"url\";s:58:\"https://wordpress.org/plugins/black-studio-tinymce-widget/\";s:7:\"package\";s:76:\"https://downloads.wordpress.org/plugin/black-studio-tinymce-widget.2.7.2.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:72:\"https://ps.w.org/black-studio-tinymce-widget/assets/icon.svg?rev=2627604\";s:3:\"svg\";s:72:\"https://ps.w.org/black-studio-tinymce-widget/assets/icon.svg?rev=2627604\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:83:\"https://ps.w.org/black-studio-tinymce-widget/assets/banner-1544x500.png?rev=2627604\";s:2:\"1x\";s:82:\"https://ps.w.org/black-studio-tinymce-widget/assets/banner-772x250.png?rev=2627604\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.1\";}s:33:\"classic-editor/classic-editor.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:28:\"w.org/plugins/classic-editor\";s:4:\"slug\";s:14:\"classic-editor\";s:6:\"plugin\";s:33:\"classic-editor/classic-editor.php\";s:11:\"new_version\";s:5:\"1.6.3\";s:3:\"url\";s:45:\"https://wordpress.org/plugins/classic-editor/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/plugin/classic-editor.1.6.3.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/classic-editor/assets/icon-256x256.png?rev=1998671\";s:2:\"1x\";s:67:\"https://ps.w.org/classic-editor/assets/icon-128x128.png?rev=1998671\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:70:\"https://ps.w.org/classic-editor/assets/banner-1544x500.png?rev=1998671\";s:2:\"1x\";s:69:\"https://ps.w.org/classic-editor/assets/banner-772x250.png?rev=1998676\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.9\";}s:35:\"classic-widgets/classic-widgets.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:29:\"w.org/plugins/classic-widgets\";s:4:\"slug\";s:15:\"classic-widgets\";s:6:\"plugin\";s:35:\"classic-widgets/classic-widgets.php\";s:11:\"new_version\";s:3:\"0.3\";s:3:\"url\";s:46:\"https://wordpress.org/plugins/classic-widgets/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/plugin/classic-widgets.0.3.zip\";s:5:\"icons\";a:1:{s:7:\"default\";s:59:\"https://s.w.org/plugins/geopattern-icon/classic-widgets.svg\";}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.9\";}s:59:\"content-views-query-and-display-post-page/content-views.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:55:\"w.org/plugins/content-views-query-and-display-post-page\";s:4:\"slug\";s:41:\"content-views-query-and-display-post-page\";s:6:\"plugin\";s:59:\"content-views-query-and-display-post-page/content-views.php\";s:11:\"new_version\";s:7:\"2.5.0.1\";s:3:\"url\";s:72:\"https://wordpress.org/plugins/content-views-query-and-display-post-page/\";s:7:\"package\";s:92:\"https://downloads.wordpress.org/plugin/content-views-query-and-display-post-page.2.5.0.1.zip\";s:5:\"icons\";a:1:{s:2:\"1x\";s:94:\"https://ps.w.org/content-views-query-and-display-post-page/assets/icon-128x128.png?rev=1696016\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:96:\"https://ps.w.org/content-views-query-and-display-post-page/assets/banner-772x250.png?rev=1696016\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.3\";}s:23:\"debug-bar/debug-bar.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:23:\"w.org/plugins/debug-bar\";s:4:\"slug\";s:9:\"debug-bar\";s:6:\"plugin\";s:23:\"debug-bar/debug-bar.php\";s:11:\"new_version\";s:5:\"1.1.4\";s:3:\"url\";s:40:\"https://wordpress.org/plugins/debug-bar/\";s:7:\"package\";s:58:\"https://downloads.wordpress.org/plugin/debug-bar.1.1.4.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:54:\"https://ps.w.org/debug-bar/assets/icon.svg?rev=1908362\";s:3:\"svg\";s:54:\"https://ps.w.org/debug-bar/assets/icon.svg?rev=1908362\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:65:\"https://ps.w.org/debug-bar/assets/banner-1544x500.png?rev=1365496\";s:2:\"1x\";s:64:\"https://ps.w.org/debug-bar/assets/banner-772x250.png?rev=1365496\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.4\";}s:39:\"debug-bar-console/debug-bar-console.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:31:\"w.org/plugins/debug-bar-console\";s:4:\"slug\";s:17:\"debug-bar-console\";s:6:\"plugin\";s:39:\"debug-bar-console/debug-bar-console.php\";s:11:\"new_version\";s:3:\"0.3\";s:3:\"url\";s:48:\"https://wordpress.org/plugins/debug-bar-console/\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/plugin/debug-bar-console.0.3.zip\";s:5:\"icons\";a:1:{s:7:\"default\";s:61:\"https://s.w.org/plugins/geopattern-icon/debug-bar-console.svg\";}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.1\";}s:33:\"disable-emails/disable-emails.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:28:\"w.org/plugins/disable-emails\";s:4:\"slug\";s:14:\"disable-emails\";s:6:\"plugin\";s:33:\"disable-emails/disable-emails.php\";s:11:\"new_version\";s:5:\"1.8.1\";s:3:\"url\";s:45:\"https://wordpress.org/plugins/disable-emails/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/plugin/disable-emails.1.8.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/disable-emails/assets/icon-256x256.png?rev=2590619\";s:2:\"1x\";s:67:\"https://ps.w.org/disable-emails/assets/icon-128x128.png?rev=2590619\";}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.5\";}s:50:\"duplicate-page-or-post/wpdevart-duplicate-post.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:36:\"w.org/plugins/duplicate-page-or-post\";s:4:\"slug\";s:22:\"duplicate-page-or-post\";s:6:\"plugin\";s:50:\"duplicate-page-or-post/wpdevart-duplicate-post.php\";s:11:\"new_version\";s:5:\"1.5.6\";s:3:\"url\";s:53:\"https://wordpress.org/plugins/duplicate-page-or-post/\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/plugin/duplicate-page-or-post.1.5.6.zip\";s:5:\"icons\";a:1:{s:2:\"1x\";s:75:\"https://ps.w.org/duplicate-page-or-post/assets/icon-128x128.png?rev=2514890\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:77:\"https://ps.w.org/duplicate-page-or-post/assets/banner-772x250.jpg?rev=2515462\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:5:\"3.4.0\";}s:9:\"hello.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:25:\"w.org/plugins/hello-dolly\";s:4:\"slug\";s:11:\"hello-dolly\";s:6:\"plugin\";s:9:\"hello.php\";s:11:\"new_version\";s:5:\"1.7.2\";s:3:\"url\";s:42:\"https://wordpress.org/plugins/hello-dolly/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/plugin/hello-dolly.1.7.2.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:64:\"https://ps.w.org/hello-dolly/assets/icon-256x256.jpg?rev=2052855\";s:2:\"1x\";s:64:\"https://ps.w.org/hello-dolly/assets/icon-128x128.jpg?rev=2052855\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/hello-dolly/assets/banner-1544x500.jpg?rev=2645582\";s:2:\"1x\";s:66:\"https://ps.w.org/hello-dolly/assets/banner-772x250.jpg?rev=2052855\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.6\";}s:23:\"if-widget/if-widget.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:23:\"w.org/plugins/if-widget\";s:4:\"slug\";s:9:\"if-widget\";s:6:\"plugin\";s:23:\"if-widget/if-widget.php\";s:11:\"new_version\";s:3:\"0.5\";s:3:\"url\";s:40:\"https://wordpress.org/plugins/if-widget/\";s:7:\"package\";s:52:\"https://downloads.wordpress.org/plugin/if-widget.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:62:\"https://ps.w.org/if-widget/assets/icon-256x256.png?rev=1930188\";s:2:\"1x\";s:62:\"https://ps.w.org/if-widget/assets/icon-128x128.png?rev=1930188\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:65:\"https://ps.w.org/if-widget/assets/banner-1544x500.png?rev=1930188\";s:2:\"1x\";s:64:\"https://ps.w.org/if-widget/assets/banner-772x250.png?rev=1930188\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";b:0;}s:34:\"login-or-logout-menu-item/main.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:39:\"w.org/plugins/login-or-logout-menu-item\";s:4:\"slug\";s:25:\"login-or-logout-menu-item\";s:6:\"plugin\";s:34:\"login-or-logout-menu-item/main.php\";s:11:\"new_version\";s:5:\"1.2.2\";s:3:\"url\";s:56:\"https://wordpress.org/plugins/login-or-logout-menu-item/\";s:7:\"package\";s:74:\"https://downloads.wordpress.org/plugin/login-or-logout-menu-item.1.2.2.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:78:\"https://ps.w.org/login-or-logout-menu-item/assets/icon-256x256.png?rev=1750260\";s:2:\"1x\";s:78:\"https://ps.w.org/login-or-logout-menu-item/assets/icon-128x128.png?rev=1750260\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:81:\"https://ps.w.org/login-or-logout-menu-item/assets/banner-1544x500.png?rev=1750260\";s:2:\"1x\";s:80:\"https://ps.w.org/login-or-logout-menu-item/assets/banner-772x250.png?rev=1750260\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.0\";}s:33:\"nav-menu-roles/nav-menu-roles.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:28:\"w.org/plugins/nav-menu-roles\";s:4:\"slug\";s:14:\"nav-menu-roles\";s:6:\"plugin\";s:33:\"nav-menu-roles/nav-menu-roles.php\";s:11:\"new_version\";s:5:\"2.1.2\";s:3:\"url\";s:45:\"https://wordpress.org/plugins/nav-menu-roles/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/plugin/nav-menu-roles.2.1.2.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/nav-menu-roles/assets/icon-256x256.png?rev=2336319\";s:2:\"1x\";s:67:\"https://ps.w.org/nav-menu-roles/assets/icon-128x128.png?rev=2336319\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:70:\"https://ps.w.org/nav-menu-roles/assets/banner-1544x500.png?rev=2336319\";s:2:\"1x\";s:69:\"https://ps.w.org/nav-menu-roles/assets/banner-772x250.png?rev=2336319\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:5:\"4.5.0\";}s:74:\"official-statcounter-plugin-for-wordpress/StatCounter-Wordpress-Plugin.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:55:\"w.org/plugins/official-statcounter-plugin-for-wordpress\";s:4:\"slug\";s:41:\"official-statcounter-plugin-for-wordpress\";s:6:\"plugin\";s:74:\"official-statcounter-plugin-for-wordpress/StatCounter-Wordpress-Plugin.php\";s:11:\"new_version\";s:5:\"2.0.9\";s:3:\"url\";s:72:\"https://wordpress.org/plugins/official-statcounter-plugin-for-wordpress/\";s:7:\"package\";s:90:\"https://downloads.wordpress.org/plugin/official-statcounter-plugin-for-wordpress.2.0.9.zip\";s:5:\"icons\";a:2:{s:2:\"1x\";s:86:\"https://ps.w.org/official-statcounter-plugin-for-wordpress/assets/icon.svg?rev=1988081\";s:3:\"svg\";s:86:\"https://ps.w.org/official-statcounter-plugin-for-wordpress/assets/icon.svg?rev=1988081\";}s:7:\"banners\";a:0:{}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:5:\"2.0.2\";}s:25:\"sucuri-scanner/sucuri.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:28:\"w.org/plugins/sucuri-scanner\";s:4:\"slug\";s:14:\"sucuri-scanner\";s:6:\"plugin\";s:25:\"sucuri-scanner/sucuri.php\";s:11:\"new_version\";s:6:\"1.8.39\";s:3:\"url\";s:45:\"https://wordpress.org/plugins/sucuri-scanner/\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/plugin/sucuri-scanner.1.8.39.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/sucuri-scanner/assets/icon-256x256.png?rev=2875755\";s:2:\"1x\";s:67:\"https://ps.w.org/sucuri-scanner/assets/icon-128x128.png?rev=2875755\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:69:\"https://ps.w.org/sucuri-scanner/assets/banner-772x250.png?rev=2875755\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.6\";}s:31:\"tpg-get-posts/tpg-get-posts.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:27:\"w.org/plugins/tpg-get-posts\";s:4:\"slug\";s:13:\"tpg-get-posts\";s:6:\"plugin\";s:31:\"tpg-get-posts/tpg-get-posts.php\";s:11:\"new_version\";s:5:\"3.6.4\";s:3:\"url\";s:44:\"https://wordpress.org/plugins/tpg-get-posts/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/plugin/tpg-get-posts.3.6.4.zip\";s:5:\"icons\";a:1:{s:7:\"default\";s:64:\"https://s.w.org/plugins/geopattern-icon/tpg-get-posts_dfefe0.svg\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:67:\"https://ps.w.org/tpg-get-posts/assets/banner-772x250.png?rev=614526\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"3.0\";}s:47:\"wp-security-audit-log/wp-security-audit-log.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:35:\"w.org/plugins/wp-security-audit-log\";s:4:\"slug\";s:21:\"wp-security-audit-log\";s:6:\"plugin\";s:47:\"wp-security-audit-log/wp-security-audit-log.php\";s:11:\"new_version\";s:5:\"4.5.2\";s:3:\"url\";s:52:\"https://wordpress.org/plugins/wp-security-audit-log/\";s:7:\"package\";s:70:\"https://downloads.wordpress.org/plugin/wp-security-audit-log.4.5.2.zip\";s:5:\"icons\";a:1:{s:2:\"1x\";s:74:\"https://ps.w.org/wp-security-audit-log/assets/icon-128x128.png?rev=1805537\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:76:\"https://ps.w.org/wp-security-audit-log/assets/banner-772x250.jpg?rev=2327238\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.0\";}s:59:\"wp-maximum-upload-file-size/wp-maximum-upload-file-size.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:41:\"w.org/plugins/wp-maximum-upload-file-size\";s:4:\"slug\";s:27:\"wp-maximum-upload-file-size\";s:6:\"plugin\";s:59:\"wp-maximum-upload-file-size/wp-maximum-upload-file-size.php\";s:11:\"new_version\";s:5:\"1.0.9\";s:3:\"url\";s:58:\"https://wordpress.org/plugins/wp-maximum-upload-file-size/\";s:7:\"package\";s:76:\"https://downloads.wordpress.org/plugin/wp-maximum-upload-file-size.1.0.9.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:80:\"https://ps.w.org/wp-maximum-upload-file-size/assets/icon-256x256.png?rev=2157477\";s:2:\"1x\";s:80:\"https://ps.w.org/wp-maximum-upload-file-size/assets/icon-128x128.png?rev=2157467\";}s:7:\"banners\";a:1:{s:2:\"1x\";s:82:\"https://ps.w.org/wp-maximum-upload-file-size/assets/banner-772x250.png?rev=2157467\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.0\";}s:18:\"searchwp/index.php\";O:8:\"stdClass\":17:{s:11:\"new_version\";s:5:\"4.3.1\";s:14:\"stable_version\";s:5:\"4.3.1\";s:4:\"name\";s:10:\"SearchWP 4\";s:4:\"slug\";s:5:\"index\";s:3:\"url\";s:54:\"https://searchwp.com/downloads/searchwp-4/?changelog=1\";s:12:\"last_updated\";s:19:\"2023-04-17 15:58:37\";s:8:\"homepage\";s:42:\"https://searchwp.com/downloads/searchwp-4/\";s:7:\"package\";s:193:\"https://searchwp.com/edd-sl/package_download/MTY4NjEyNzE1ODozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOToyMTYwMjk6ZjllZWFkYWM0YzVlOTBjODJhNjljMjdjODZmZjYwMjk6aHR0cHNALy91c3dvcmt3b3JsZC5jb206MA==\";s:13:\"download_link\";s:193:\"https://searchwp.com/edd-sl/package_download/MTY4NjEyNzE1ODozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOToyMTYwMjk6ZjllZWFkYWM0YzVlOTBjODJhNjljMjdjODZmZjYwMjk6aHR0cHNALy91c3dvcmt3b3JsZC5jb206MA==\";s:8:\"sections\";O:8:\"stdClass\":2:{s:11:\"description\";s:0:\"\";s:9:\"changelog\";s:36663:\"<p>4.3.1</p>\n<ul>\n<li><strong>[Fix]</strong> &quot;Did you mean?&quot; feature prevents stemming from working</li>\n<li><strong>[Fix]</strong> Strict AND logic set via the filter allows OR results</li>\n<li><strong>[Fix]</strong> Partial matches use a wildcard when it is not needed</li>\n<li><strong>[Fix]</strong> ACF suggestions are missing from the Custom Fields dropdown in the Source Attributes modal</li>\n<li><strong>[Fix]</strong> Settings in the Misc tab are not saving in some cases</li>\n<li><strong>[Fix]</strong> Statistics page shows UI which cannot be used by users with Statistics capability</li>\n<li><strong>[Fix]</strong> Notifications icon is shown to users who cannot use it because of capability restrictions</li>\n<li><strong>[Fix]</strong> Minor styling issues in the plugin settings</li>\n</ul>\n<p>4.3.0</p>\n<ul>\n<li><strong>[Improvement]</strong> Admin settings UI redesign</li>\n</ul>\n<p>4.2.9</p>\n<ul>\n<li><strong>[New]</strong> Debugging Console to view debugging data in a browser panel style</li>\n<li><strong>[Improvement]</strong> Prevent page slowdown when a taxonomy term is updated</li>\n<li><strong>[Improvement]</strong> Set default value for Post Excerpt weight to a minimum</li>\n<li><strong>[Improvement]</strong> Updated Stemmer library for better keyword stemming and PHP 8 compatibility</li>\n<li><strong>[Improvement]</strong> Updated PdfParser library for better PDF parsing</li>\n<li><strong>[Fix]</strong> \"Vue is in development mode\" console notice on the Settings screen</li>\n<li><strong>[Fix]</strong> Deprecation notices on PHP 8.2</li>\n<li><strong>[Fix]</strong> Plugin text domain is not loading properly</li>\n</ul>\n<p>4.2.8</p>\n<ul>\n<li><strong>[New]</strong> In-plugin notification system to get the latest updates from SearchWP</li>\n</ul>\n<p>4.2.7</p>\n<ul>\n<li><strong>[Improvement]</strong> Highlighter gives precedence to exact phrase search if present</li>\n<li><strong>[Improvement]</strong> Reduced memory usage when generating the excerpt</li>\n<li><strong>[Fix]</strong> Stemming prevents partial matches in some cases</li>\n<li><strong>[Fix]</strong> Highlighting not working with quoted searches in some cases</li>\n</ul>\n<p>4.2.6</p>\n<ul>\n<li><strong>[Improvement]</strong> Improved AJAX actions security</li>\n<li><strong>[Improvement]</strong> Updated the PdfParser library for better PDF parsing and improved compatibility</li>\n<li><strong>[Fix]</strong> Engines errors are not accessible by external code because of the private visibility</li>\n<li><strong>[Fix]</strong> License gets deactivated periodically for some rare server configurations</li>\n</ul>\n<p>4.2.5</p>\n<ul>\n<li><strong>[Improvement]</strong> Exclude taxonomy name from indexed taxonomy term fields</li>\n<li><strong>[Improvement]</strong> Do not index the image src attribute in the post content by default</li>\n<li><strong>[Fix]</strong> No post type exists check during SWP_Query query</li>\n<li><strong>[Fix]</strong> Existing SWP_Query post type can be overridden with $_REQUEST</li>\n<li><strong>[Fix]</strong> Synonyms and stemming affecting AND logic query</li>\n</ul>\n<p>4.2.4</p>\n<ul>\n<li><strong>[Improvement]</strong> Better handling of quoted phrases in synonyms</li>\n<li><strong>[Fix]</strong> Synonyms not working with non-ASCII strings</li>\n<li><strong>[Fix]</strong> Max nesting function when synonyms are applied</li>\n<li><strong>[Fix]</strong> Synonyms are not case-insensitive</li>\n<li><strong>[Fix]</strong> Synonyms affecting the stemming functionality</li>\n<li><strong>[Fix]</strong> Metrics related click tracking error in multisite environment</li>\n<li><strong>[Fix]</strong> Merging words during HTML content tokenization if <br /> is used in the content</li>\n<li><strong>[Fix]</strong> Hiding SearchWP admin menu via the hook leaves a link to it in the admin bar menu</li>\n<li><strong>[Fix]</strong> MySQL error if engine sources have no attributes</li>\n<li><strong>[Fix]</strong> Error if &#39;s&#39; parameter in the request is not a string</li>\n<li><strong>[Fix]</strong> Warning if a custom field is added to the Users in the engine settings</li>\n<li><strong>[Fix]</strong> Return type compatibility notice in PHP 8.1 for jsonSerialize() method</li>\n</ul>\n<p>4.2.3</p>\n<ul>\n<li><strong>[Improvement]</strong> Performance improvement when getting \'post__in\' and \'post__not_in\' ids</li>\n<li><strong>[Fix]</strong> Synonyms work incorrectly when AND search logic is applied</li>\n<li><strong>[Fix]</strong> Posts are not dropped from the index when a taxonomy term is updated</li>\n<li><strong>[Fix]</strong> Quoted searches give too broad results on custom fields</li>\n<li><strong>[Fix]</strong> Quoted searches query has redundant subqueries</li>\n<li><strong>[Fix]</strong> Cross-site search limited results if \"all\" is passed as site args</li>\n</ul>\n<p>4.2.2</p>\n<ul>\n<li><strong>[New]</strong> Extensions admin page to install, activate and deactivate SearchWP extensions in one click</li>\n<li><strong>[Improvement]</strong> Performance improvement when getting engines configuration</li>\n<li><strong>[Fix]</strong> Search terms highlighting doesn\'t work well with quoted searches</li>\n<li><strong>[Fix]</strong> Posts are not dropped from the index when a taxonomy term is deleted from the site</li>\n<li><strong>[Fix]</strong> Stemming prevents partial matches in some cases</li>\n<li><strong>[Fix]</strong> Search terms highlighting give unexpected results with partial matches</li>\n</ul>\n<p>4.2.1</p>\n<ul>\n<li><strong>[Fix]</strong> Edited document content is not preserved</li>\n<li><strong>[Fix]</strong> Broken URLs for the redirects to the legacy admin settings</li>\n<li><strong>[Fix]</strong> Class prefixing error in smalot/pdfparser lib</li>\n<li><strong>[Fix]</strong> PHP7 static code analyzer error in symfony/polyfill-mbstring lib</li>\n</ul>\n<p>4.2.0</p>\n<ul>\n<li><strong>[Change]</strong> Plugin settings moved to the top-level menu</li>\n<li><strong>[Fix]</strong> Undefined function error during the \'index\' CLI command execution</li>\n<li><strong>[Fix]</strong> Merging words in some cases during HTML content tokenization</li>\n</ul>\n<p>4.1.22</p>\n<ul>\n<li><strong>[Fix]</strong> Synonym application too broad in some cases</li>\n<li><strong>[Fix]</strong> Document content reindexing in some cases</li>\n<li><strong>[Fix]</strong> Missing method reference in Comment source</li>\n<li><strong>[Fix]</strong> Forced phrase search returns no results if the search string doesn\'t contain non-phrase tokens</li>\n<li><strong>[Improvement]</strong> Search string normalization</li>\n<li><strong>[Improvement]</strong> String highlight application when synonyms are applied</li>\n<li><strong>[Improvement]</strong> Handling of double quotes in synonym logic in some cases</li>\n</ul>\n<p>4.1.21</p>\n<ul>\n<li><strong>[Improvement]</strong> Apply AND logic when applicable during quoted search query</li>\n<li><strong>[Fix]</strong> Default application of \'Did you mean?\' functionality in some cases</li>\n<li><strong>[Fix]</strong> Regression introduced in 4.1.19 that prevented some results from displaying in some cases</li>\n<li><strong>[New]</strong> Filter searchwp\\native\\args\\post_type to modify native search post type when necessary</li>\n</ul>\n<p>4.1.20</p>\n<ul>\n<li><strong>[Change]</strong> Synonym processing now stops after first application unless searchwp\\synonyms\\aggressive filter returns false</li>\n<li><strong>[Fix]</strong> Global excerpt and highlighting process now uses original search string, disregarding any filtration in some cases</li>\n</ul>\n<p>4.1.19</p>\n<ul>\n<li><strong>[New]</strong> Consider Excerpt when performing quoted search</li>\n<li><strong>[Fix]</strong> Multisite re/index using WP-CLI</li>\n<li><strong>[Fix]</strong> Highlight application with flanking punctuation in some cases</li>\n<li><strong>[Fix]</strong> Highlight application with stemming enabled in some cases</li>\n<li><strong>[Fix]</strong> PHP 8 compatibility</li>\n<li><strong>[New]</strong> de_DE_formal translation</li>\n<li><strong>[Update]</strong> Dependencies</li>\n</ul>\n<p>4.1.18</p>\n<ul>\n<li><strong>[Fix]</strong> Global excerpt generation due to newline</li>\n<li><strong>[Fix]</strong> Relevance minimum clause implementation</li>\n<li><strong>[Fix]</strong> Prevent search suggestion output outside main query</li>\n<li><strong>[Fix]</strong> Incorrect fields argument definition in some cases (caused FacetWP facets to not render in some cases)</li>\n<li><strong>[Improvement]</strong> Highlight matching in some cases</li>\n</ul>\n<p>4.1.17</p>\n<ul>\n<li><strong>[New]</strong> Added relevance() method to Mods to allow additional manipulation of relevance calculation during searches</li>\n<li><strong>[Improvement]</strong> Refactored WP All Import integration</li>\n<li><strong>[Fix]</strong> Character encoding when finding global excerpts in some cases</li>\n</ul>\n<p>4.1.16</p>\n<ul>\n<li><strong>[New]</strong> searchwp\\index\\source\\add_hooks filter to allow prevention of core hook implementation</li>\n<li><strong>[New]</strong> Integration with WP All Import to better react to import processes</li>\n<li><strong>[Improvement]</strong> Global excerpt generation in some cases</li>\n<li><strong>[Improvement]</strong> Indexer state handling when programmatically pausing/unpausing</li>\n<li><strong>[Fix]</strong> Searching Media in the WordPress Admin in some cases</li>\n<li><strong>[Fix]</strong> Handling (omitting) of entries that failed indexing in some cases</li>\n<li><strong>[Fix]</strong> Statistics migration from SearchWP 3 (if Statistics failed to migrate, please open a support ticket for direct assistance)</li>\n</ul>\n<p>4.1.15</p>\n<ul>\n<li><strong>[Change]</strong> Partial matching in synonyms has been changed, to apply partial matching add a * wildcard where partial matching should be applied</li>\n<li><strong>[Change]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Global excerpt generation in some cases</li>\n<li><strong>[Fix]</strong> Regression introduced in 4.1.12 that prevented results in some cases when setting AND logic to be strict</li>\n</ul>\n<p>4.1.14</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[New]</strong> Rule for Media to consider filename</li>\n<li><strong>[New]</strong> Rule for Pages and hierarchical CPTs to consider ancestry</li>\n<li><strong>[New]</strong> Rule for Pages and hierarchical CPTs to consider post_parent</li>\n<li><strong>[New]</strong> Edit and View actions for omitted entries</li>\n<li><strong>[New]</strong> Support for Beaver Builder Search Module</li>\n<li><strong>[Fix]</strong> Parallel indexing process when rebuilding index using WP-CLI in some cases</li>\n<li><strong>[Fix]</strong> Customization of post stati in some cases</li>\n<li><strong>[Improvement]</strong> Additional background process health check</li>\n<li><strong>[Improvement]</strong> Handling of synonym input strings in some cases</li>\n<li><strong>[Improvement]</strong> Default regular expression patterns</li>\n<li><strong>[Update]</strong> Dependencies</li>\n</ul>\n<p>4.1.13</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Admin search of hierarchical post types</li>\n<li><strong>[Fix]</strong> Support ticket iframe height minimum in some cases</li>\n<li><strong>[Improvement]</strong> Partial match logic in some cases</li>\n</ul>\n<p>4.1.12</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[New]</strong> Upper threshold that prevents AND logic when too many terms make it a performance issue (default is 5 token groups)</li>\n<li><strong>[New]</strong> Filter searchwp\\query\\logic\\and\\token_threshold to control AND logic token threshold (return false to disable threshold consideration)</li>\n<li><strong>[Fix]</strong> Issue with searching Users in the WP Admin</li>\n<li><strong>[Fix]</strong> Issue with setting query fields in some cases</li>\n<li><strong>[Fix]</strong> Statistics CSS issue in Safari in some cases</li>\n</ul>\n<p>4.1.11</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Regression introduced in 4.1.9 that prevented saving parent weight transfer</li>\n<li><strong>[Improved]</strong> PDF parsing in some cases</li>\n</ul>\n<p>4.1.10</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Background process cookie validation in some cases</li>\n</ul>\n<p>4.1.9</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Improvement]</strong> Reduction in index bloat in some cases</li>\n<li><strong>[Fix]</strong> Comment parents being incorrectly returned in some cases</li>\n<li><strong>[Fix]</strong> Error when weight transfer was enabled but no recipient defined</li>\n<li><strong>[Fix]</strong> Error when using PHP8 in some cases</li>\n</ul>\n<p>4.1.8</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Improvement]</strong> Race condition prevention in background process</li>\n<li><strong>[Change]</strong> Index controller no longer observes site switching, if switching sites you will need to first use the searchwp\\auto_update_providers hook</li>\n<li><strong>[Change]</strong> Keyword stemming enabled by default during setup</li>\n<li><strong>[Fix]</strong> Results when keyword stemming and partial matching is enabled and tokens are exact matches and stemmable</li>\n<li><strong>[Fix]</strong> Statistics migration from SearchWP 3 in some cases</li>\n<li><strong>[Fix]</strong> Automatic integration with page builder plugin in some cases</li>\n<li><strong>[Fix]</strong> Issue with ACF Repeatables not appearing in some cases</li>\n<li><strong>[Fix]</strong> Issue with not being able to add custom Custom Field keys to an Engine Source</li>\n</ul>\n<p>4.1.7</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Multisite performance issue that could lead to an Error in some cases</li>\n<li><strong>[Fix]</strong> Statistics migration from SearchWP v3 (Regression introduced in 4.1.0)</li>\n</ul>\n<p>4.1.6</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Database table index optimization introduced in 4.1.5 in some configurations</li>\n<li><strong>[Fix]</strong> Partial matches with stemming enabled during AND logic in some cases</li>\n<li><strong>[Improvement]</strong> AND logic handling in some cases</li>\n</ul>\n<p>4.1.5</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Exact match buoy in partial match logic</li>\n<li><strong>[Fix]</strong> Implementation of query when site is set to \'all\' to search all network sites</li>\n<li><strong>[Improvement]</strong> Partial match logic</li>\n<li><strong>[Improvement]</strong> Handling of invalid tokens when finding partial matches</li>\n<li><strong>[Improvement]</strong> Performance when applying delta index updates</li>\n<li><strong>[Improvement]</strong> Performance when dropping Entries</li>\n<li><strong>[Improvement]</strong> Handling of duplicate tokens in some cases</li>\n<li><strong>[Improvement]</strong> Native integration in non-standard environments (e.g. page builders)</li>\n</ul>\n<p>4.1.4</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Error during partial match application on synonyms in some cases</li>\n<li><strong>[Fix]</strong> Admin search handling in some cases</li>\n</ul>\n<p>4.1.3</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Synonym partial matches in some cases</li>\n<li><strong>[Fix]</strong> Statistics display with Statistics capability but not Settings capability</li>\n<li><strong>[Fix]</strong> HTTP Basic Auth credentials regression introduced in 4.1.0</li>\n<li><strong>[Fix]</strong> AND logic performance regression introduced in 4.1.0 in some cases</li>\n<li><strong>[Improvement]</strong> AND logic performance in some cases</li>\n<li><strong>[Improvement]</strong> Background process health check coverage</li>\n<li><strong>[Improvement]</strong> PHP 8 compatibility</li>\n</ul>\n<p>4.1.2</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Improvement]</strong> Indexer handling of concurrent invocations, health check/restart when process encounters Errors</li>\n<li><strong>[Improvement]</strong> Indexer in multisite environment</li>\n<li><strong>[Fix]</strong> AND logic restrictions in some cases</li>\n</ul>\n<p>4.1.1</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Error when highlighting in some cases</li>\n</ul>\n<p>4.1.0</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[New]</strong> Refactored indexer for stability, reliability, and performance optimization</li>\n<li><strong>[New]</strong> searchwp\\index\\update_entry action when an Entry is updated in the Index</li>\n<li><strong>[New]</strong> searchwp\\debug\\front_end_summary filter to control whether the HTML comment summary is output when debugging is enabled</li>\n<li><strong>[New]</strong> wp searchwp reindex WP-CLI command</li>\n<li><strong>[New]</strong> wp searchwp diagnostics WP-CLI command</li>\n<li><strong>[New]</strong> Primary keys added to database tables <em>for new installs</em> where previously there were none</li>\n<li><strong>[New]</strong> Adds $query property to \\SWP_Query to reference underlying query object</li>\n<li><strong>[New]</strong> searchwp\\source\\comment\\parent_attribution\\strict hook to control whether SearchWP is strict about parent attribution which can introduce overhead in some cases</li>\n<li><strong>[New]</strong> SearchWP will now generate more expected variations of regex pattern matches</li>\n<li><strong>[New]</strong> searchwp\\tokens\\generate_parttern_match_variations filter to control whether additional pattern match variations are generated during indexing</li>\n<li><strong>[New]</strong> Ability to enter custom ignored queries for Statistics (with wildcard * support)</li>\n<li><strong>[New]</strong> Ability to automatically trim Statistics logs</li>\n<li><strong>[New]</strong> Notice when WordPress available memory can be improved</li>\n<li><strong>[New]</strong> Export/import now optionally includes Settings, Stopwords, and Synonyms</li>\n<li><strong>[New]</strong> All ACF fields are displayed in the Custom Fields dropdown when applicable, not only ACF \"Repeatables\"</li>\n<li><strong>[New]</strong> Synonyms actions: Sort ASC, Sort DESC, Clear</li>\n<li><strong>[Change]</strong> Refines default data indexed for Taxonomy Terms to be: taxonomy name, term name, term slug, and term description</li>\n<li><strong>[Change]</strong> Abstracts Statistics Dashboard Widget from jquery-ui-tabs</li>\n<li><strong>[Improvement]</strong> Indexer auto-scaling when server load is high</li>\n<li><strong>[Improvement]</strong> Handling of HTML-formed content during indexing</li>\n<li><strong>[Improvement]</strong> Integration of partial matches and keyword stemming</li>\n<li><strong>[Improvement]</strong> Indexer delta trigger specificity in some cases</li>\n<li><strong>[Improvement]</strong> Document processing handling, footprint</li>\n<li><strong>[Improvement]</strong> Highlighting when a suggested search has been returned</li>\n<li><strong>[Fix]</strong> Prevent duplicate results during weight transfer in some cases</li>\n<li><strong>[Fix]</strong> AND logic restriction, performance in some cases</li>\n<li><strong>[Fix]</strong> Persistent dismissal of missing integration notice</li>\n<li><strong>[Fix]</strong> Synonyms management in some cases</li>\n<li><strong>[Update]</strong> Dependencies</li>\n<li><strong>[Update]</strong> Translation source</li>\n<li><strong>[Update]</strong> Interface updates and refinements</li>\n</ul>\n<p>4.0.34</p>\n<ul>\n<li><strong>[Fix]</strong> Fixes regression introduced by Shortcodes fix in 4.0.33 (proper fix in Shortcodes 1.8.2)</li>\n<li><strong>[Update]</strong> Updated updater</li>\n</ul>\n<p>4.0.33</p>\n<ul>\n<li><strong>[New]</strong> searchwp\\swp_query\\mods filter to add Mods to SWP_Query</li>\n<li><strong>[Fix]</strong> PHP Warning introduced in 4.0.32</li>\n<li><strong>[Fix]</strong> Prevention of duplicate indexing processes in some cases</li>\n<li><strong>[Fix]</strong> Display issue on Statistics screen</li>\n<li><strong>[Fix]</strong> PHP Warning when Admin color schemes have been removed</li>\n<li><strong>[Fix]</strong> PDF parsing taking place unnecssarily in some cases</li>\n<li><strong>[Improvement]</strong> Disable searchwp_search_results Shortcode when generating excerpts so as to prevent unwanted loop</li>\n</ul>\n<p>4.0.32</p>\n<ul>\n<li><strong>[Fix]</strong> Duplicate indexer processes in some cases</li>\n<li><strong>[Fix]</strong> Inaccurate batch size handling in some cases</li>\n<li><strong>[Fix]</strong> Prevent redundant search suggestion output in some cases</li>\n<li><strong>[Improvement]</strong> Post stati validation when parent attribution is enabled</li>\n<li><strong>[Improvement]</strong> Attachment status handling over time</li>\n<li><strong>[New]</strong> RAND(seed) support by suffixing random Mod order_by with a colon and seed e.g. random:10 will be RAND(10)</li>\n</ul>\n<p>4.0.31</p>\n<ul>\n<li><strong>[Improvement]</strong> Adds NOT IN option to Media File Type Rule</li>\n<li><strong>[Improvement]</strong> Debug HTML comment block output during Admin requests</li>\n<li><strong>[Fix]</strong> Custom Attribute Options not returning proper Label after saving</li>\n<li><strong>[Fix]</strong> Relocate searchwp\\query\\search_string hook to fire earlier</li>\n<li><strong>[Fix]</strong> Issue when performing cross-site Multisite search</li>\n<li><strong>[Fix]</strong> searchwp\\query\\tokens\\limit default value</li>\n<li><strong>[New]</strong> Action searchwp\\query\\core_mods_out_of_bounds fires when core Mods are considered out of bounds</li>\n</ul>\n<p>4.0.30</p>\n<ul>\n<li><strong>[Fix]</strong> UI changes introduced by WordPress 5.5</li>\n<li><strong>[Fix]</strong> Global excerpt generation from search suggestions</li>\n<li><strong>[Fix]</strong> Synonym migration from SearchWP 3.x</li>\n</ul>\n<p>4.0.29</p>\n<ul>\n<li><strong>[Fix]</strong> Token handling in some cases</li>\n<li><strong>[Fix]</strong> Document content handling when using alternate indexer in some cases</li>\n<li><strong>[Improvement]</strong> Tokenization of HTML in some cases</li>\n<li><strong>[New]</strong> searchwp\\entry\\update_data\\before action fired before Entry data is retrieved</li>\n<li><strong>[Update]</strong> Bundle dependencies</li>\n</ul>\n<p>4.0.28</p>\n<ul>\n<li><strong>[Fix]</strong> Prevent inapplicable comment edit events from triggering delta updates</li>\n<li><strong>[Improvement]</strong> Reduced index method checks</li>\n<li><strong>[Improvement]</strong> Reactivity when observing meta updates</li>\n</ul>\n<p>4.0.27</p>\n<ul>\n<li><strong>[Fix]</strong> File Content meta box display in some cases</li>\n<li><strong>[Fix]</strong> Entries not being reintroduced after failing when using alternate indexer</li>\n<li><strong>[Fix]</strong> Display of Source Attribute Options when statically defined</li>\n<li><strong>[Fix]</strong> UI display edge cases</li>\n<li><strong>[Change]</strong> Token handling chunked in more cases so as to avoid issues when hosts limit query character length</li>\n</ul>\n<p>4.0.26</p>\n<ul>\n<li><strong>[Fix]</strong> Handling of SWP_Query tax_query argument</li>\n<li><strong>[New]</strong> Advanced setting checkbox to control whether stored document content is purged and re-indexed during index rebuilds</li>\n<li><strong>[Update]</strong> Translation source</li>\n</ul>\n<p>4.0.25</p>\n<ul>\n<li><strong>[Fix]</strong> Regression introduced in 4.0.24 when utilizing PDF Metadata</li>\n<li><strong>[Improvement]</strong> Note displayed in SearchWP Document Content meta box when document is queued but not yet processed</li>\n<li><strong>[Update]</strong> Translation source</li>\n</ul>\n<p>4.0.24</p>\n<ul>\n<li><strong>[Fix]</strong> Handling of PDF metadata that includes invalid characters</li>\n<li><strong>[Fix]</strong> Searching of hierarchical post types in the Admin</li>\n<li><strong>[Improvement]</strong> Performance when handling documents outside the indexing process</li>\n<li><strong>[Update]</strong> Bundle dependencies</li>\n</ul>\n<p>4.0.23</p>\n<ul>\n<li><strong>[Fix]</strong> Utilize previously extracted PDF metadata instead of parsing it repeatedly</li>\n<li><strong>[Change]</strong> Updated default batch size for Media to 3, can be customized with searchwp\\indexer\\batch_size\\post.attachment hook</li>\n<li><strong>[Improvement]</strong> Handling of urlencoded tokens in some cases</li>\n</ul>\n<p>4.0.22</p>\n<ul>\n<li><strong>[New]</strong> Query parameter support for post_type when using SWP_Query (additional parameter support is planned)</li>\n<li><strong>[Fix]</strong> Issue with partial matching yielding zero results in some cases</li>\n<li><strong>[Fix]</strong> Quoted search support for WP_Post Content, Document Content</li>\n<li><strong>[Improvement]</strong> Reduced debug log volume (logs should be deleted once you\'re done debugging)</li>\n</ul>\n<p>4.0.20</p>\n<ul>\n<li><strong>[New]</strong> New filter searchwp\\source\\post\\db_where to customize global WHERE limits per post type</li>\n<li><strong>[New]</strong> License key is automatically activated when provided via constant or hook</li>\n<li><strong>[Fix]</strong> Error on uninstall when removing all data</li>\n<li><strong>[Fix]</strong> Issue where Mods were not applied to SWP_Query in some cases</li>\n<li><strong>[Change]</strong> No longer relying on excerpt_more when working with excerpts, now using ellipsis filtered by searchwp\\utils\\excerpt_more</li>\n<li><strong>[Improvement]</strong> Handling of rare cases where index would need to be woken up repeatedly in order to build</li>\n<li><strong>[Improvement]</strong> Omits redundant Entry retrieval in some cases</li>\n<li><strong>[Improvement]</strong> Significant performance retrieval when generating excerpts (e.g. Highlighting)</li>\n<li><strong>[Improvement]</strong> Advanced Custom Fields integration support</li>\n</ul>\n<p>4.0.19</p>\n<ul>\n<li><strong>[Notice]</strong> Mods have in part been cleaned up and refined in this release, which may affect your usage. Please review any Mods you are using by testing this update on a staging server. If you are manipulating relevance weight based on date, it is likely you will need to update your hooks. Snippets have been updated on the KB article <a href=\"https://searchwp.com/?p=222848\">https://searchwp.com/?p=222848</a> for review. Please also ensure your SearchWP Extensions are up to date as well.</li>\n<li><strong>[Fix]</strong> Source Mod WHERE clauses causing errors in some cases</li>\n<li><strong>[Fix]</strong> Raw Mod WHERE clauses had no local alias to utilize</li>\n<li><strong>[Fix]</strong> Mod JOIN claus order was not retained causing errors in some cases</li>\n<li><strong>[Improvement]</strong> Optimized Mod handling in SWP_Query</li>\n<li><strong>[Improvement]</strong> Disable integration extension checks when doing AJAX</li>\n</ul>\n<p>4.0.18</p>\n<ul>\n<li><strong>[Fix]</strong> Error when using mod argument of \\SearchWP\\Query parameters array</li>\n<li><strong>[Improvement]</strong> Control over Settings page navigation</li>\n</ul>\n<p>4.0.17</p>\n<ul>\n<li><strong>[Note]</strong> Rebuilding your index using the Rebuild Index button on the Engines tab of the SearchWP settings screen is recommended after updating</li>\n<li><strong>[Fix]</strong> Delta update regression introduced in 4.0.13</li>\n<li><strong>[Fix]</strong> Error when applying delta update to Source that no longer exists</li>\n<li><strong>[Improvement]</strong> Handling of delta update process during failures</li>\n<li><strong>[Improvement]</strong> Delta update queue handling during index rebuild</li>\n</ul>\n<p>4.0.16</p>\n<ul>\n<li><strong>[Fix]</strong> Invalid range in character class introduced in 4.0.15 for PHP 7.3+</li>\n<li><strong>[Change]</strong> searchwp\\tokens\\whitelist\\only_full_matches retagged as searchwp\\tokens\\regex_patterns\\only_full_matches</li>\n<li><strong>[Change]</strong> searchwp\\tokens\\apply_rules_to_whitelist retagged as searchwp\\tokens\\apply_rules_to_pattern_matches</li>\n<li><strong>[Change]</strong> searchwp\\tokens\\whitelist_regex_patterns retagged as searchwp\\tokens\\regex_patterns</li>\n<li><strong>[Change]</strong> Regex pattern matches are now tokenized during indexing (but remain exclusive when searching by default when applicable)</li>\n<li><strong>[New]</strong> Filter searchwp\\tokens\\tokenize_pattern_matches\\indexing to disable new tokenizing of pattern match behavior during indexing</li>\n</ul>\n<p>4.0.15</p>\n<ul>\n<li><strong>[New]</strong> New filter searchwp\\tokens\\string to customize strings before tokenization</li>\n<li><strong>[Fix]</strong> Handling of synonyms when finding partial matches</li>\n<li><strong>[Fix]</strong> Implementation and handling of regex pattern match tokenization setting</li>\n<li><strong>[Improvement]</strong> Dash/hyphen and word match regex patterns</li>\n<li><strong>[Improvement]</strong> searchwp\\source\\post\\excerpt_haystack filter now passes arguments array</li>\n<li><strong>[Update]</strong> Translation source</li>\n</ul>\n<p>4.0.14</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where partial matches from keyword stems were not found in some cases</li>\n<li><strong>[Fix]</strong> Partial match token processing limited to applicable site(s)</li>\n<li><strong>[Fix]</strong> Excerpt generation when handling unregistered Shortcodes</li>\n</ul>\n<p>4.0.13</p>\n<ul>\n<li><strong>[Fix]</strong> Delta update routine when using alternate indexer that caused unwanted exit</li>\n<li><strong>[Fix]</strong> <strong>searchwp\\document\\content</strong> implementation</li>\n<li><strong>[Improvement]</strong> Index integrity check when rebuilding</li>\n<li><strong>[Improvement]</strong> Source hook management in multisite</li>\n<li><strong>[Improvement]</strong> Upgrade routine process</li>\n</ul>\n<p>4.0.12</p>\n<ul>\n<li><strong>[Fix]</strong> Inability to filter searchwp\\settings\\capability</li>\n<li><strong>[Fix]</strong> Issue with Highlighting in some cases</li>\n<li><strong>[Fix]</strong> Document Content not properly considered for global excerpt in some cases</li>\n<li><strong>[Fix]</strong> Warning when reacting to invalid Entry during indexing</li>\n<li><strong>[Fix]</strong> Namespace issue with PDF parsing in some cases</li>\n<li><strong>[Fix]</strong> Unnecessary provider reset when switching to the same site in multisite</li>\n<li><strong>[Update]</strong> Updated updater</li>\n</ul>\n<p>4.0.11</p>\n<ul>\n<li><strong>[Fix]</strong> Loss of tokens when applying partial match logic in some cases</li>\n<li><strong>[Update]</strong> Revised MySQL minimum to 5.6 (MariaDB 10.0) because of utf8mb4_unicode_520_ci collation requirement</li>\n</ul>\n<p>4.0.9</p>\n<ul>\n<li><strong>[Fix]</strong> Regression introduced in 4.0.6 that prevented non WP_Post results from returning</li>\n</ul>\n<p>4.0.8</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where taxonomy Rules for Media were not applied correctly in some cases</li>\n</ul>\n<p>4.0.7</p>\n<ul>\n<li><strong>[Fix]</strong> Mod WHERE clauses not restricted to Source when defined</li>\n</ul>\n<p>4.0.6</p>\n<ul>\n<li><strong>[Change]</strong> Post is now returned when parent weight transfer is enabled but Post has no post_parent</li>\n<li><strong>[Improvement]</strong> Excerpt handling for native results</li>\n<li><strong>[Improvement]</strong> Additional prevention of invalid WP_Post results being returned in one case</li>\n</ul>\n<p>4.0.5</p>\n<ul>\n<li><strong>[New]</strong> Filter to control stemmer locale searchwp\\stemmer\\locale</li>\n<li><strong>[Improvement]</strong> Token stems/partial matches are considered during AND logic pass</li>\n<li><strong>[Fix]</strong> String not sent to searchwp\\stemmer\\custom</li>\n<li><strong>[Change]</strong> searchwp\\query\\partial_matches\\buoy is now opt-in</li>\n</ul>\n<p>4.0.4</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where AND logic would not apply in some cases</li>\n<li><strong>[Fix]</strong> Issue where additional unnecessary query clauses are added in some cases</li>\n<li><strong>[Fix]</strong> Issue with delta updates not processing when HTTP Basic Auth is active</li>\n<li><strong>[Fix]</strong> Minimum PHP version requirement check (which is 7.2)</li>\n</ul>\n<p>4.0.3</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where tokens table was not reset during index rebuild</li>\n</ul>\n<p>4.0.2</p>\n<ul>\n<li><strong>[New]</strong> Support for BETWEEN, NOT BETWEEN, LIKE, and NOT LIKE compare operators for Mod WHERE clauses</li>\n<li><strong>[Fix]</strong> Handling of Mod WHERE clauses in some cases</li>\n<li><strong>[Fix]</strong> Handling of REST parameters when returning search results</li>\n</ul>\n<p>4.0.1</p>\n<ul>\n<li><strong>[New]</strong> Check for remnants of SearchWP 3 that were not removed as per the Migration Guide</li>\n<li><strong>[New]</strong> searchwp\\source\\post\\attributes\\comments action when retrieving Post comments</li>\n<li><strong>[Fix]</strong> Handling of empty search strings in some cases</li>\n</ul>\n<p>4.0.0</p>\n<ul>\n<li><strong>[New]</strong> Complete rewrite of SearchWP</li>\n</ul>\n\";}s:7:\"banners\";O:8:\"stdClass\":2:{s:4:\"high\";s:0:\"\";s:3:\"low\";s:0:\"\";}s:5:\"icons\";a:2:{s:2:\"1x\";s:79:\"https://searchwp.com/wp-content/uploads/2021/02/avatar-searchwp-alt-128x128.png\";s:2:\"2x\";s:79:\"https://searchwp.com/wp-content/uploads/2021/02/avatar-searchwp-alt-256x256.png\";}s:12:\"requires_php\";s:5:\"5.6.0\";s:11:\"description\";a:1:{i:0;s:0:\"\";}s:9:\"changelog\";a:1:{i:0;s:36663:\"<p>4.3.1</p>\n<ul>\n<li><strong>[Fix]</strong> &quot;Did you mean?&quot; feature prevents stemming from working</li>\n<li><strong>[Fix]</strong> Strict AND logic set via the filter allows OR results</li>\n<li><strong>[Fix]</strong> Partial matches use a wildcard when it is not needed</li>\n<li><strong>[Fix]</strong> ACF suggestions are missing from the Custom Fields dropdown in the Source Attributes modal</li>\n<li><strong>[Fix]</strong> Settings in the Misc tab are not saving in some cases</li>\n<li><strong>[Fix]</strong> Statistics page shows UI which cannot be used by users with Statistics capability</li>\n<li><strong>[Fix]</strong> Notifications icon is shown to users who cannot use it because of capability restrictions</li>\n<li><strong>[Fix]</strong> Minor styling issues in the plugin settings</li>\n</ul>\n<p>4.3.0</p>\n<ul>\n<li><strong>[Improvement]</strong> Admin settings UI redesign</li>\n</ul>\n<p>4.2.9</p>\n<ul>\n<li><strong>[New]</strong> Debugging Console to view debugging data in a browser panel style</li>\n<li><strong>[Improvement]</strong> Prevent page slowdown when a taxonomy term is updated</li>\n<li><strong>[Improvement]</strong> Set default value for Post Excerpt weight to a minimum</li>\n<li><strong>[Improvement]</strong> Updated Stemmer library for better keyword stemming and PHP 8 compatibility</li>\n<li><strong>[Improvement]</strong> Updated PdfParser library for better PDF parsing</li>\n<li><strong>[Fix]</strong> \"Vue is in development mode\" console notice on the Settings screen</li>\n<li><strong>[Fix]</strong> Deprecation notices on PHP 8.2</li>\n<li><strong>[Fix]</strong> Plugin text domain is not loading properly</li>\n</ul>\n<p>4.2.8</p>\n<ul>\n<li><strong>[New]</strong> In-plugin notification system to get the latest updates from SearchWP</li>\n</ul>\n<p>4.2.7</p>\n<ul>\n<li><strong>[Improvement]</strong> Highlighter gives precedence to exact phrase search if present</li>\n<li><strong>[Improvement]</strong> Reduced memory usage when generating the excerpt</li>\n<li><strong>[Fix]</strong> Stemming prevents partial matches in some cases</li>\n<li><strong>[Fix]</strong> Highlighting not working with quoted searches in some cases</li>\n</ul>\n<p>4.2.6</p>\n<ul>\n<li><strong>[Improvement]</strong> Improved AJAX actions security</li>\n<li><strong>[Improvement]</strong> Updated the PdfParser library for better PDF parsing and improved compatibility</li>\n<li><strong>[Fix]</strong> Engines errors are not accessible by external code because of the private visibility</li>\n<li><strong>[Fix]</strong> License gets deactivated periodically for some rare server configurations</li>\n</ul>\n<p>4.2.5</p>\n<ul>\n<li><strong>[Improvement]</strong> Exclude taxonomy name from indexed taxonomy term fields</li>\n<li><strong>[Improvement]</strong> Do not index the image src attribute in the post content by default</li>\n<li><strong>[Fix]</strong> No post type exists check during SWP_Query query</li>\n<li><strong>[Fix]</strong> Existing SWP_Query post type can be overridden with $_REQUEST</li>\n<li><strong>[Fix]</strong> Synonyms and stemming affecting AND logic query</li>\n</ul>\n<p>4.2.4</p>\n<ul>\n<li><strong>[Improvement]</strong> Better handling of quoted phrases in synonyms</li>\n<li><strong>[Fix]</strong> Synonyms not working with non-ASCII strings</li>\n<li><strong>[Fix]</strong> Max nesting function when synonyms are applied</li>\n<li><strong>[Fix]</strong> Synonyms are not case-insensitive</li>\n<li><strong>[Fix]</strong> Synonyms affecting the stemming functionality</li>\n<li><strong>[Fix]</strong> Metrics related click tracking error in multisite environment</li>\n<li><strong>[Fix]</strong> Merging words during HTML content tokenization if <br /> is used in the content</li>\n<li><strong>[Fix]</strong> Hiding SearchWP admin menu via the hook leaves a link to it in the admin bar menu</li>\n<li><strong>[Fix]</strong> MySQL error if engine sources have no attributes</li>\n<li><strong>[Fix]</strong> Error if &#39;s&#39; parameter in the request is not a string</li>\n<li><strong>[Fix]</strong> Warning if a custom field is added to the Users in the engine settings</li>\n<li><strong>[Fix]</strong> Return type compatibility notice in PHP 8.1 for jsonSerialize() method</li>\n</ul>\n<p>4.2.3</p>\n<ul>\n<li><strong>[Improvement]</strong> Performance improvement when getting \'post__in\' and \'post__not_in\' ids</li>\n<li><strong>[Fix]</strong> Synonyms work incorrectly when AND search logic is applied</li>\n<li><strong>[Fix]</strong> Posts are not dropped from the index when a taxonomy term is updated</li>\n<li><strong>[Fix]</strong> Quoted searches give too broad results on custom fields</li>\n<li><strong>[Fix]</strong> Quoted searches query has redundant subqueries</li>\n<li><strong>[Fix]</strong> Cross-site search limited results if \"all\" is passed as site args</li>\n</ul>\n<p>4.2.2</p>\n<ul>\n<li><strong>[New]</strong> Extensions admin page to install, activate and deactivate SearchWP extensions in one click</li>\n<li><strong>[Improvement]</strong> Performance improvement when getting engines configuration</li>\n<li><strong>[Fix]</strong> Search terms highlighting doesn\'t work well with quoted searches</li>\n<li><strong>[Fix]</strong> Posts are not dropped from the index when a taxonomy term is deleted from the site</li>\n<li><strong>[Fix]</strong> Stemming prevents partial matches in some cases</li>\n<li><strong>[Fix]</strong> Search terms highlighting give unexpected results with partial matches</li>\n</ul>\n<p>4.2.1</p>\n<ul>\n<li><strong>[Fix]</strong> Edited document content is not preserved</li>\n<li><strong>[Fix]</strong> Broken URLs for the redirects to the legacy admin settings</li>\n<li><strong>[Fix]</strong> Class prefixing error in smalot/pdfparser lib</li>\n<li><strong>[Fix]</strong> PHP7 static code analyzer error in symfony/polyfill-mbstring lib</li>\n</ul>\n<p>4.2.0</p>\n<ul>\n<li><strong>[Change]</strong> Plugin settings moved to the top-level menu</li>\n<li><strong>[Fix]</strong> Undefined function error during the \'index\' CLI command execution</li>\n<li><strong>[Fix]</strong> Merging words in some cases during HTML content tokenization</li>\n</ul>\n<p>4.1.22</p>\n<ul>\n<li><strong>[Fix]</strong> Synonym application too broad in some cases</li>\n<li><strong>[Fix]</strong> Document content reindexing in some cases</li>\n<li><strong>[Fix]</strong> Missing method reference in Comment source</li>\n<li><strong>[Fix]</strong> Forced phrase search returns no results if the search string doesn\'t contain non-phrase tokens</li>\n<li><strong>[Improvement]</strong> Search string normalization</li>\n<li><strong>[Improvement]</strong> String highlight application when synonyms are applied</li>\n<li><strong>[Improvement]</strong> Handling of double quotes in synonym logic in some cases</li>\n</ul>\n<p>4.1.21</p>\n<ul>\n<li><strong>[Improvement]</strong> Apply AND logic when applicable during quoted search query</li>\n<li><strong>[Fix]</strong> Default application of \'Did you mean?\' functionality in some cases</li>\n<li><strong>[Fix]</strong> Regression introduced in 4.1.19 that prevented some results from displaying in some cases</li>\n<li><strong>[New]</strong> Filter searchwp\\native\\args\\post_type to modify native search post type when necessary</li>\n</ul>\n<p>4.1.20</p>\n<ul>\n<li><strong>[Change]</strong> Synonym processing now stops after first application unless searchwp\\synonyms\\aggressive filter returns false</li>\n<li><strong>[Fix]</strong> Global excerpt and highlighting process now uses original search string, disregarding any filtration in some cases</li>\n</ul>\n<p>4.1.19</p>\n<ul>\n<li><strong>[New]</strong> Consider Excerpt when performing quoted search</li>\n<li><strong>[Fix]</strong> Multisite re/index using WP-CLI</li>\n<li><strong>[Fix]</strong> Highlight application with flanking punctuation in some cases</li>\n<li><strong>[Fix]</strong> Highlight application with stemming enabled in some cases</li>\n<li><strong>[Fix]</strong> PHP 8 compatibility</li>\n<li><strong>[New]</strong> de_DE_formal translation</li>\n<li><strong>[Update]</strong> Dependencies</li>\n</ul>\n<p>4.1.18</p>\n<ul>\n<li><strong>[Fix]</strong> Global excerpt generation due to newline</li>\n<li><strong>[Fix]</strong> Relevance minimum clause implementation</li>\n<li><strong>[Fix]</strong> Prevent search suggestion output outside main query</li>\n<li><strong>[Fix]</strong> Incorrect fields argument definition in some cases (caused FacetWP facets to not render in some cases)</li>\n<li><strong>[Improvement]</strong> Highlight matching in some cases</li>\n</ul>\n<p>4.1.17</p>\n<ul>\n<li><strong>[New]</strong> Added relevance() method to Mods to allow additional manipulation of relevance calculation during searches</li>\n<li><strong>[Improvement]</strong> Refactored WP All Import integration</li>\n<li><strong>[Fix]</strong> Character encoding when finding global excerpts in some cases</li>\n</ul>\n<p>4.1.16</p>\n<ul>\n<li><strong>[New]</strong> searchwp\\index\\source\\add_hooks filter to allow prevention of core hook implementation</li>\n<li><strong>[New]</strong> Integration with WP All Import to better react to import processes</li>\n<li><strong>[Improvement]</strong> Global excerpt generation in some cases</li>\n<li><strong>[Improvement]</strong> Indexer state handling when programmatically pausing/unpausing</li>\n<li><strong>[Fix]</strong> Searching Media in the WordPress Admin in some cases</li>\n<li><strong>[Fix]</strong> Handling (omitting) of entries that failed indexing in some cases</li>\n<li><strong>[Fix]</strong> Statistics migration from SearchWP 3 (if Statistics failed to migrate, please open a support ticket for direct assistance)</li>\n</ul>\n<p>4.1.15</p>\n<ul>\n<li><strong>[Change]</strong> Partial matching in synonyms has been changed, to apply partial matching add a * wildcard where partial matching should be applied</li>\n<li><strong>[Change]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Global excerpt generation in some cases</li>\n<li><strong>[Fix]</strong> Regression introduced in 4.1.12 that prevented results in some cases when setting AND logic to be strict</li>\n</ul>\n<p>4.1.14</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[New]</strong> Rule for Media to consider filename</li>\n<li><strong>[New]</strong> Rule for Pages and hierarchical CPTs to consider ancestry</li>\n<li><strong>[New]</strong> Rule for Pages and hierarchical CPTs to consider post_parent</li>\n<li><strong>[New]</strong> Edit and View actions for omitted entries</li>\n<li><strong>[New]</strong> Support for Beaver Builder Search Module</li>\n<li><strong>[Fix]</strong> Parallel indexing process when rebuilding index using WP-CLI in some cases</li>\n<li><strong>[Fix]</strong> Customization of post stati in some cases</li>\n<li><strong>[Improvement]</strong> Additional background process health check</li>\n<li><strong>[Improvement]</strong> Handling of synonym input strings in some cases</li>\n<li><strong>[Improvement]</strong> Default regular expression patterns</li>\n<li><strong>[Update]</strong> Dependencies</li>\n</ul>\n<p>4.1.13</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Admin search of hierarchical post types</li>\n<li><strong>[Fix]</strong> Support ticket iframe height minimum in some cases</li>\n<li><strong>[Improvement]</strong> Partial match logic in some cases</li>\n</ul>\n<p>4.1.12</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[New]</strong> Upper threshold that prevents AND logic when too many terms make it a performance issue (default is 5 token groups)</li>\n<li><strong>[New]</strong> Filter searchwp\\query\\logic\\and\\token_threshold to control AND logic token threshold (return false to disable threshold consideration)</li>\n<li><strong>[Fix]</strong> Issue with searching Users in the WP Admin</li>\n<li><strong>[Fix]</strong> Issue with setting query fields in some cases</li>\n<li><strong>[Fix]</strong> Statistics CSS issue in Safari in some cases</li>\n</ul>\n<p>4.1.11</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Regression introduced in 4.1.9 that prevented saving parent weight transfer</li>\n<li><strong>[Improved]</strong> PDF parsing in some cases</li>\n</ul>\n<p>4.1.10</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Background process cookie validation in some cases</li>\n</ul>\n<p>4.1.9</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Improvement]</strong> Reduction in index bloat in some cases</li>\n<li><strong>[Fix]</strong> Comment parents being incorrectly returned in some cases</li>\n<li><strong>[Fix]</strong> Error when weight transfer was enabled but no recipient defined</li>\n<li><strong>[Fix]</strong> Error when using PHP8 in some cases</li>\n</ul>\n<p>4.1.8</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Improvement]</strong> Race condition prevention in background process</li>\n<li><strong>[Change]</strong> Index controller no longer observes site switching, if switching sites you will need to first use the searchwp\\auto_update_providers hook</li>\n<li><strong>[Change]</strong> Keyword stemming enabled by default during setup</li>\n<li><strong>[Fix]</strong> Results when keyword stemming and partial matching is enabled and tokens are exact matches and stemmable</li>\n<li><strong>[Fix]</strong> Statistics migration from SearchWP 3 in some cases</li>\n<li><strong>[Fix]</strong> Automatic integration with page builder plugin in some cases</li>\n<li><strong>[Fix]</strong> Issue with ACF Repeatables not appearing in some cases</li>\n<li><strong>[Fix]</strong> Issue with not being able to add custom Custom Field keys to an Engine Source</li>\n</ul>\n<p>4.1.7</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Multisite performance issue that could lead to an Error in some cases</li>\n<li><strong>[Fix]</strong> Statistics migration from SearchWP v3 (Regression introduced in 4.1.0)</li>\n</ul>\n<p>4.1.6</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Database table index optimization introduced in 4.1.5 in some configurations</li>\n<li><strong>[Fix]</strong> Partial matches with stemming enabled during AND logic in some cases</li>\n<li><strong>[Improvement]</strong> AND logic handling in some cases</li>\n</ul>\n<p>4.1.5</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Exact match buoy in partial match logic</li>\n<li><strong>[Fix]</strong> Implementation of query when site is set to \'all\' to search all network sites</li>\n<li><strong>[Improvement]</strong> Partial match logic</li>\n<li><strong>[Improvement]</strong> Handling of invalid tokens when finding partial matches</li>\n<li><strong>[Improvement]</strong> Performance when applying delta index updates</li>\n<li><strong>[Improvement]</strong> Performance when dropping Entries</li>\n<li><strong>[Improvement]</strong> Handling of duplicate tokens in some cases</li>\n<li><strong>[Improvement]</strong> Native integration in non-standard environments (e.g. page builders)</li>\n</ul>\n<p>4.1.4</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Error during partial match application on synonyms in some cases</li>\n<li><strong>[Fix]</strong> Admin search handling in some cases</li>\n</ul>\n<p>4.1.3</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Synonym partial matches in some cases</li>\n<li><strong>[Fix]</strong> Statistics display with Statistics capability but not Settings capability</li>\n<li><strong>[Fix]</strong> HTTP Basic Auth credentials regression introduced in 4.1.0</li>\n<li><strong>[Fix]</strong> AND logic performance regression introduced in 4.1.0 in some cases</li>\n<li><strong>[Improvement]</strong> AND logic performance in some cases</li>\n<li><strong>[Improvement]</strong> Background process health check coverage</li>\n<li><strong>[Improvement]</strong> PHP 8 compatibility</li>\n</ul>\n<p>4.1.2</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Improvement]</strong> Indexer handling of concurrent invocations, health check/restart when process encounters Errors</li>\n<li><strong>[Improvement]</strong> Indexer in multisite environment</li>\n<li><strong>[Fix]</strong> AND logic restrictions in some cases</li>\n</ul>\n<p>4.1.1</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[Fix]</strong> Error when highlighting in some cases</li>\n</ul>\n<p>4.1.0</p>\n<ul>\n<li><strong>[IMPORTANT]</strong> Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index</em>, this is not done automatically and should be planned for when updating)</li>\n<li><strong>[New]</strong> Refactored indexer for stability, reliability, and performance optimization</li>\n<li><strong>[New]</strong> searchwp\\index\\update_entry action when an Entry is updated in the Index</li>\n<li><strong>[New]</strong> searchwp\\debug\\front_end_summary filter to control whether the HTML comment summary is output when debugging is enabled</li>\n<li><strong>[New]</strong> wp searchwp reindex WP-CLI command</li>\n<li><strong>[New]</strong> wp searchwp diagnostics WP-CLI command</li>\n<li><strong>[New]</strong> Primary keys added to database tables <em>for new installs</em> where previously there were none</li>\n<li><strong>[New]</strong> Adds $query property to \\SWP_Query to reference underlying query object</li>\n<li><strong>[New]</strong> searchwp\\source\\comment\\parent_attribution\\strict hook to control whether SearchWP is strict about parent attribution which can introduce overhead in some cases</li>\n<li><strong>[New]</strong> SearchWP will now generate more expected variations of regex pattern matches</li>\n<li><strong>[New]</strong> searchwp\\tokens\\generate_parttern_match_variations filter to control whether additional pattern match variations are generated during indexing</li>\n<li><strong>[New]</strong> Ability to enter custom ignored queries for Statistics (with wildcard * support)</li>\n<li><strong>[New]</strong> Ability to automatically trim Statistics logs</li>\n<li><strong>[New]</strong> Notice when WordPress available memory can be improved</li>\n<li><strong>[New]</strong> Export/import now optionally includes Settings, Stopwords, and Synonyms</li>\n<li><strong>[New]</strong> All ACF fields are displayed in the Custom Fields dropdown when applicable, not only ACF \"Repeatables\"</li>\n<li><strong>[New]</strong> Synonyms actions: Sort ASC, Sort DESC, Clear</li>\n<li><strong>[Change]</strong> Refines default data indexed for Taxonomy Terms to be: taxonomy name, term name, term slug, and term description</li>\n<li><strong>[Change]</strong> Abstracts Statistics Dashboard Widget from jquery-ui-tabs</li>\n<li><strong>[Improvement]</strong> Indexer auto-scaling when server load is high</li>\n<li><strong>[Improvement]</strong> Handling of HTML-formed content during indexing</li>\n<li><strong>[Improvement]</strong> Integration of partial matches and keyword stemming</li>\n<li><strong>[Improvement]</strong> Indexer delta trigger specificity in some cases</li>\n<li><strong>[Improvement]</strong> Document processing handling, footprint</li>\n<li><strong>[Improvement]</strong> Highlighting when a suggested search has been returned</li>\n<li><strong>[Fix]</strong> Prevent duplicate results during weight transfer in some cases</li>\n<li><strong>[Fix]</strong> AND logic restriction, performance in some cases</li>\n<li><strong>[Fix]</strong> Persistent dismissal of missing integration notice</li>\n<li><strong>[Fix]</strong> Synonyms management in some cases</li>\n<li><strong>[Update]</strong> Dependencies</li>\n<li><strong>[Update]</strong> Translation source</li>\n<li><strong>[Update]</strong> Interface updates and refinements</li>\n</ul>\n<p>4.0.34</p>\n<ul>\n<li><strong>[Fix]</strong> Fixes regression introduced by Shortcodes fix in 4.0.33 (proper fix in Shortcodes 1.8.2)</li>\n<li><strong>[Update]</strong> Updated updater</li>\n</ul>\n<p>4.0.33</p>\n<ul>\n<li><strong>[New]</strong> searchwp\\swp_query\\mods filter to add Mods to SWP_Query</li>\n<li><strong>[Fix]</strong> PHP Warning introduced in 4.0.32</li>\n<li><strong>[Fix]</strong> Prevention of duplicate indexing processes in some cases</li>\n<li><strong>[Fix]</strong> Display issue on Statistics screen</li>\n<li><strong>[Fix]</strong> PHP Warning when Admin color schemes have been removed</li>\n<li><strong>[Fix]</strong> PDF parsing taking place unnecssarily in some cases</li>\n<li><strong>[Improvement]</strong> Disable searchwp_search_results Shortcode when generating excerpts so as to prevent unwanted loop</li>\n</ul>\n<p>4.0.32</p>\n<ul>\n<li><strong>[Fix]</strong> Duplicate indexer processes in some cases</li>\n<li><strong>[Fix]</strong> Inaccurate batch size handling in some cases</li>\n<li><strong>[Fix]</strong> Prevent redundant search suggestion output in some cases</li>\n<li><strong>[Improvement]</strong> Post stati validation when parent attribution is enabled</li>\n<li><strong>[Improvement]</strong> Attachment status handling over time</li>\n<li><strong>[New]</strong> RAND(seed) support by suffixing random Mod order_by with a colon and seed e.g. random:10 will be RAND(10)</li>\n</ul>\n<p>4.0.31</p>\n<ul>\n<li><strong>[Improvement]</strong> Adds NOT IN option to Media File Type Rule</li>\n<li><strong>[Improvement]</strong> Debug HTML comment block output during Admin requests</li>\n<li><strong>[Fix]</strong> Custom Attribute Options not returning proper Label after saving</li>\n<li><strong>[Fix]</strong> Relocate searchwp\\query\\search_string hook to fire earlier</li>\n<li><strong>[Fix]</strong> Issue when performing cross-site Multisite search</li>\n<li><strong>[Fix]</strong> searchwp\\query\\tokens\\limit default value</li>\n<li><strong>[New]</strong> Action searchwp\\query\\core_mods_out_of_bounds fires when core Mods are considered out of bounds</li>\n</ul>\n<p>4.0.30</p>\n<ul>\n<li><strong>[Fix]</strong> UI changes introduced by WordPress 5.5</li>\n<li><strong>[Fix]</strong> Global excerpt generation from search suggestions</li>\n<li><strong>[Fix]</strong> Synonym migration from SearchWP 3.x</li>\n</ul>\n<p>4.0.29</p>\n<ul>\n<li><strong>[Fix]</strong> Token handling in some cases</li>\n<li><strong>[Fix]</strong> Document content handling when using alternate indexer in some cases</li>\n<li><strong>[Improvement]</strong> Tokenization of HTML in some cases</li>\n<li><strong>[New]</strong> searchwp\\entry\\update_data\\before action fired before Entry data is retrieved</li>\n<li><strong>[Update]</strong> Bundle dependencies</li>\n</ul>\n<p>4.0.28</p>\n<ul>\n<li><strong>[Fix]</strong> Prevent inapplicable comment edit events from triggering delta updates</li>\n<li><strong>[Improvement]</strong> Reduced index method checks</li>\n<li><strong>[Improvement]</strong> Reactivity when observing meta updates</li>\n</ul>\n<p>4.0.27</p>\n<ul>\n<li><strong>[Fix]</strong> File Content meta box display in some cases</li>\n<li><strong>[Fix]</strong> Entries not being reintroduced after failing when using alternate indexer</li>\n<li><strong>[Fix]</strong> Display of Source Attribute Options when statically defined</li>\n<li><strong>[Fix]</strong> UI display edge cases</li>\n<li><strong>[Change]</strong> Token handling chunked in more cases so as to avoid issues when hosts limit query character length</li>\n</ul>\n<p>4.0.26</p>\n<ul>\n<li><strong>[Fix]</strong> Handling of SWP_Query tax_query argument</li>\n<li><strong>[New]</strong> Advanced setting checkbox to control whether stored document content is purged and re-indexed during index rebuilds</li>\n<li><strong>[Update]</strong> Translation source</li>\n</ul>\n<p>4.0.25</p>\n<ul>\n<li><strong>[Fix]</strong> Regression introduced in 4.0.24 when utilizing PDF Metadata</li>\n<li><strong>[Improvement]</strong> Note displayed in SearchWP Document Content meta box when document is queued but not yet processed</li>\n<li><strong>[Update]</strong> Translation source</li>\n</ul>\n<p>4.0.24</p>\n<ul>\n<li><strong>[Fix]</strong> Handling of PDF metadata that includes invalid characters</li>\n<li><strong>[Fix]</strong> Searching of hierarchical post types in the Admin</li>\n<li><strong>[Improvement]</strong> Performance when handling documents outside the indexing process</li>\n<li><strong>[Update]</strong> Bundle dependencies</li>\n</ul>\n<p>4.0.23</p>\n<ul>\n<li><strong>[Fix]</strong> Utilize previously extracted PDF metadata instead of parsing it repeatedly</li>\n<li><strong>[Change]</strong> Updated default batch size for Media to 3, can be customized with searchwp\\indexer\\batch_size\\post.attachment hook</li>\n<li><strong>[Improvement]</strong> Handling of urlencoded tokens in some cases</li>\n</ul>\n<p>4.0.22</p>\n<ul>\n<li><strong>[New]</strong> Query parameter support for post_type when using SWP_Query (additional parameter support is planned)</li>\n<li><strong>[Fix]</strong> Issue with partial matching yielding zero results in some cases</li>\n<li><strong>[Fix]</strong> Quoted search support for WP_Post Content, Document Content</li>\n<li><strong>[Improvement]</strong> Reduced debug log volume (logs should be deleted once you\'re done debugging)</li>\n</ul>\n<p>4.0.20</p>\n<ul>\n<li><strong>[New]</strong> New filter searchwp\\source\\post\\db_where to customize global WHERE limits per post type</li>\n<li><strong>[New]</strong> License key is automatically activated when provided via constant or hook</li>\n<li><strong>[Fix]</strong> Error on uninstall when removing all data</li>\n<li><strong>[Fix]</strong> Issue where Mods were not applied to SWP_Query in some cases</li>\n<li><strong>[Change]</strong> No longer relying on excerpt_more when working with excerpts, now using ellipsis filtered by searchwp\\utils\\excerpt_more</li>\n<li><strong>[Improvement]</strong> Handling of rare cases where index would need to be woken up repeatedly in order to build</li>\n<li><strong>[Improvement]</strong> Omits redundant Entry retrieval in some cases</li>\n<li><strong>[Improvement]</strong> Significant performance retrieval when generating excerpts (e.g. Highlighting)</li>\n<li><strong>[Improvement]</strong> Advanced Custom Fields integration support</li>\n</ul>\n<p>4.0.19</p>\n<ul>\n<li><strong>[Notice]</strong> Mods have in part been cleaned up and refined in this release, which may affect your usage. Please review any Mods you are using by testing this update on a staging server. If you are manipulating relevance weight based on date, it is likely you will need to update your hooks. Snippets have been updated on the KB article <a href=\"https://searchwp.com/?p=222848\">https://searchwp.com/?p=222848</a> for review. Please also ensure your SearchWP Extensions are up to date as well.</li>\n<li><strong>[Fix]</strong> Source Mod WHERE clauses causing errors in some cases</li>\n<li><strong>[Fix]</strong> Raw Mod WHERE clauses had no local alias to utilize</li>\n<li><strong>[Fix]</strong> Mod JOIN claus order was not retained causing errors in some cases</li>\n<li><strong>[Improvement]</strong> Optimized Mod handling in SWP_Query</li>\n<li><strong>[Improvement]</strong> Disable integration extension checks when doing AJAX</li>\n</ul>\n<p>4.0.18</p>\n<ul>\n<li><strong>[Fix]</strong> Error when using mod argument of \\SearchWP\\Query parameters array</li>\n<li><strong>[Improvement]</strong> Control over Settings page navigation</li>\n</ul>\n<p>4.0.17</p>\n<ul>\n<li><strong>[Note]</strong> Rebuilding your index using the Rebuild Index button on the Engines tab of the SearchWP settings screen is recommended after updating</li>\n<li><strong>[Fix]</strong> Delta update regression introduced in 4.0.13</li>\n<li><strong>[Fix]</strong> Error when applying delta update to Source that no longer exists</li>\n<li><strong>[Improvement]</strong> Handling of delta update process during failures</li>\n<li><strong>[Improvement]</strong> Delta update queue handling during index rebuild</li>\n</ul>\n<p>4.0.16</p>\n<ul>\n<li><strong>[Fix]</strong> Invalid range in character class introduced in 4.0.15 for PHP 7.3+</li>\n<li><strong>[Change]</strong> searchwp\\tokens\\whitelist\\only_full_matches retagged as searchwp\\tokens\\regex_patterns\\only_full_matches</li>\n<li><strong>[Change]</strong> searchwp\\tokens\\apply_rules_to_whitelist retagged as searchwp\\tokens\\apply_rules_to_pattern_matches</li>\n<li><strong>[Change]</strong> searchwp\\tokens\\whitelist_regex_patterns retagged as searchwp\\tokens\\regex_patterns</li>\n<li><strong>[Change]</strong> Regex pattern matches are now tokenized during indexing (but remain exclusive when searching by default when applicable)</li>\n<li><strong>[New]</strong> Filter searchwp\\tokens\\tokenize_pattern_matches\\indexing to disable new tokenizing of pattern match behavior during indexing</li>\n</ul>\n<p>4.0.15</p>\n<ul>\n<li><strong>[New]</strong> New filter searchwp\\tokens\\string to customize strings before tokenization</li>\n<li><strong>[Fix]</strong> Handling of synonyms when finding partial matches</li>\n<li><strong>[Fix]</strong> Implementation and handling of regex pattern match tokenization setting</li>\n<li><strong>[Improvement]</strong> Dash/hyphen and word match regex patterns</li>\n<li><strong>[Improvement]</strong> searchwp\\source\\post\\excerpt_haystack filter now passes arguments array</li>\n<li><strong>[Update]</strong> Translation source</li>\n</ul>\n<p>4.0.14</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where partial matches from keyword stems were not found in some cases</li>\n<li><strong>[Fix]</strong> Partial match token processing limited to applicable site(s)</li>\n<li><strong>[Fix]</strong> Excerpt generation when handling unregistered Shortcodes</li>\n</ul>\n<p>4.0.13</p>\n<ul>\n<li><strong>[Fix]</strong> Delta update routine when using alternate indexer that caused unwanted exit</li>\n<li><strong>[Fix]</strong> <strong>searchwp\\document\\content</strong> implementation</li>\n<li><strong>[Improvement]</strong> Index integrity check when rebuilding</li>\n<li><strong>[Improvement]</strong> Source hook management in multisite</li>\n<li><strong>[Improvement]</strong> Upgrade routine process</li>\n</ul>\n<p>4.0.12</p>\n<ul>\n<li><strong>[Fix]</strong> Inability to filter searchwp\\settings\\capability</li>\n<li><strong>[Fix]</strong> Issue with Highlighting in some cases</li>\n<li><strong>[Fix]</strong> Document Content not properly considered for global excerpt in some cases</li>\n<li><strong>[Fix]</strong> Warning when reacting to invalid Entry during indexing</li>\n<li><strong>[Fix]</strong> Namespace issue with PDF parsing in some cases</li>\n<li><strong>[Fix]</strong> Unnecessary provider reset when switching to the same site in multisite</li>\n<li><strong>[Update]</strong> Updated updater</li>\n</ul>\n<p>4.0.11</p>\n<ul>\n<li><strong>[Fix]</strong> Loss of tokens when applying partial match logic in some cases</li>\n<li><strong>[Update]</strong> Revised MySQL minimum to 5.6 (MariaDB 10.0) because of utf8mb4_unicode_520_ci collation requirement</li>\n</ul>\n<p>4.0.9</p>\n<ul>\n<li><strong>[Fix]</strong> Regression introduced in 4.0.6 that prevented non WP_Post results from returning</li>\n</ul>\n<p>4.0.8</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where taxonomy Rules for Media were not applied correctly in some cases</li>\n</ul>\n<p>4.0.7</p>\n<ul>\n<li><strong>[Fix]</strong> Mod WHERE clauses not restricted to Source when defined</li>\n</ul>\n<p>4.0.6</p>\n<ul>\n<li><strong>[Change]</strong> Post is now returned when parent weight transfer is enabled but Post has no post_parent</li>\n<li><strong>[Improvement]</strong> Excerpt handling for native results</li>\n<li><strong>[Improvement]</strong> Additional prevention of invalid WP_Post results being returned in one case</li>\n</ul>\n<p>4.0.5</p>\n<ul>\n<li><strong>[New]</strong> Filter to control stemmer locale searchwp\\stemmer\\locale</li>\n<li><strong>[Improvement]</strong> Token stems/partial matches are considered during AND logic pass</li>\n<li><strong>[Fix]</strong> String not sent to searchwp\\stemmer\\custom</li>\n<li><strong>[Change]</strong> searchwp\\query\\partial_matches\\buoy is now opt-in</li>\n</ul>\n<p>4.0.4</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where AND logic would not apply in some cases</li>\n<li><strong>[Fix]</strong> Issue where additional unnecessary query clauses are added in some cases</li>\n<li><strong>[Fix]</strong> Issue with delta updates not processing when HTTP Basic Auth is active</li>\n<li><strong>[Fix]</strong> Minimum PHP version requirement check (which is 7.2)</li>\n</ul>\n<p>4.0.3</p>\n<ul>\n<li><strong>[Fix]</strong> Issue where tokens table was not reset during index rebuild</li>\n</ul>\n<p>4.0.2</p>\n<ul>\n<li><strong>[New]</strong> Support for BETWEEN, NOT BETWEEN, LIKE, and NOT LIKE compare operators for Mod WHERE clauses</li>\n<li><strong>[Fix]</strong> Handling of Mod WHERE clauses in some cases</li>\n<li><strong>[Fix]</strong> Handling of REST parameters when returning search results</li>\n</ul>\n<p>4.0.1</p>\n<ul>\n<li><strong>[New]</strong> Check for remnants of SearchWP 3 that were not removed as per the Migration Guide</li>\n<li><strong>[New]</strong> searchwp\\source\\post\\attributes\\comments action when retrieving Post comments</li>\n<li><strong>[Fix]</strong> Handling of empty search strings in some cases</li>\n</ul>\n<p>4.0.0</p>\n<ul>\n<li><strong>[New]</strong> Complete rewrite of SearchWP</li>\n</ul>\n\";}s:6:\"plugin\";s:18:\"searchwp/index.php\";s:2:\"id\";s:18:\"searchwp/index.php\";}}s:7:\"checked\";a:1:{s:18:\"searchwp/index.php\";s:5:\"4.3.1\";}}','no'),(530344,'wp-maximum-upload-file-size_allow_tracking','no','yes'),(530345,'wp-maximum-upload-file-size_tracking_notice','hide','yes'),(530346,'wp-maximum-upload-file-size_tracking_skipped','yes','yes'),(600424,'wsal_disabled-alerts','2099,2126,5010,5011,5012,5013,5014,5015,5016,5017,5018,5022,5023,5024,5010,5011,5012,5013,5014,5015,5016,5017,5018,5022,5023,5024','no'),(680166,'_transient_dlm_file_version_ids_13356','a:1:{i:0;i:14136;}','no'),(680245,'_transient_timeout_dlm_file_version_ids_13402','1710198686','no'),(562064,'_transient_timeout_dlm_file_version_ids_13394','1697705957','no'),(562065,'_transient_dlm_file_version_ids_13394','a:1:{i:0;i:13395;}','no'),(621508,'_transient_timeout_dlm_file_version_ids_8937','1704165525','no'),(621509,'_transient_dlm_file_version_ids_8937','a:1:{i:0;i:13968;}','no'),(560993,'_transient_timeout_dlm_file_version_ids_7643','1697576686','no'),(560994,'_transient_dlm_file_version_ids_7643','a:1:{i:0;i:12493;}','no'),(560995,'_transient_timeout_dlm_file_version_ids_5901','1697576686','no'),(560996,'_transient_dlm_file_version_ids_5901','a:1:{i:0;i:12694;}','no'),(560997,'_transient_timeout_dlm_file_version_ids_8156','1697576686','no'),(560998,'_transient_dlm_file_version_ids_8156','a:1:{i:0;i:12690;}','no'),(560999,'_transient_timeout_dlm_file_version_ids_5883','1697576686','no'),(561000,'_transient_dlm_file_version_ids_5883','a:1:{i:0;i:13412;}','no'),(561001,'_transient_timeout_dlm_file_version_ids_5886','1697576686','no'),(561002,'_transient_dlm_file_version_ids_5886','a:1:{i:0;i:13622;}','no'),(561003,'_transient_timeout_dlm_file_version_ids_5978','1697576686','no'),(561004,'_transient_dlm_file_version_ids_5978','a:1:{i:0;i:12704;}','no'),(600425,'wsal_dismissed-privacy-notice','1,wsal_privacy','no'),(332307,'wpdb_rcp_discounts_version','202003313','yes'),(338674,'exactdn_exclude','','yes'),(338675,'ewww_image_optimizer_ll_exclude','','yes'),(429010,'auto_update_core_dev','enabled','yes'),(429011,'auto_update_core_minor','enabled','yes'),(429012,'auto_update_core_major','unset','yes'),(368674,'searchwp_engines','a:1:{s:7:\"default\";a:3:{s:5:\"label\";s:7:\"Default\";s:8:\"settings\";a:2:{s:8:\"stemming\";b:0;s:11:\"adminengine\";b:0;}s:7:\"sources\";a:1:{s:17:\"post.dlm_download\";a:3:{s:10:\"attributes\";a:2:{s:5:\"title\";i:300;s:8:\"taxonomy\";a:1:{s:16:\"dlm_download_tag\";i:30;}}s:5:\"rules\";a:0:{}s:7:\"options\";a:0:{}}}}}','no'),(368692,'searchwp_migrated','1','no'),(387445,'ewww_image_optimizer_wizard_complete','1','no'),(562525,'_transient_timeout_dlm_file_version_ids_11060','1697782560','no'),(562526,'_transient_dlm_file_version_ids_11060','a:1:{i:0;i:11061;}','no'),(365421,'edd_api_request_f911c96c3ed9d9b9810024f3ca130438','a:2:{s:7:\"timeout\";i:1597855507;s:5:\"value\";s:15384:\"{\"new_version\":\"3.1.15\",\"stable_version\":\"3.1.15\",\"name\":\"SearchWP\",\"slug\":\"searchwp\",\"url\":\"https:\\/\\/searchwp.com\\/downloads\\/searchwp\\/?changelog=1\",\"last_updated\":\"2020-08-19 08:58:42\",\"homepage\":\"https:\\/\\/searchwp.com\\/downloads\\/searchwp\\/\",\"package\":\"https:\\/\\/searchwp.com\\/edd-sl\\/package_download\\/MTU5Nzk1OTkwNzozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOTo4OmE3NmU5NDJmODBlODNiNGQ4YzViNjQ1ZmRjMzJhNDg1Omh0dHBzQC8vdXN3b3Jrd29ybGQuY29tOjA=\",\"download_link\":\"https:\\/\\/searchwp.com\\/edd-sl\\/package_download\\/MTU5Nzk1OTkwNzozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOTo4OmE3NmU5NDJmODBlODNiNGQ4YzViNjQ1ZmRjMzJhNDg1Omh0dHBzQC8vdXN3b3Jrd29ybGQuY29tOjA=\",\"sections\":{\"description\":\"\",\"changelog\":\"<p><strong>Note:<\\/strong> SearchWP 4 has been released! Automatic upgrade is not available in this case, please read the <a href=\\\"https:\\/\\/searchwp.com\\/documentation\\/migration-guide\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">Migration Guide<\\/a> for more information.<\\/p>\\n<p>3.1.15<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Updates deprecated jQuery function<\\/li>\\n<\\/ul>\\n<p>3.1.14<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Character encoding issue in PDF parsing in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.13<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with PDF parsing in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>3.1.12<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with partial match return values in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Notice about Deprecated array syntax<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.11<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with synonym partial matching not working as expected in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.10<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with supported post type attributes not appearing in all cases<\\/li>\\n<li><strong>[Change]<\\/strong> Template conflict detection is now opt-in<\\/li>\\n<li><strong>[Update]<\\/strong> Updated dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.9<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Logic issue with one of the query limiters in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.8<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp_query_strict_limiters filter allowing you to <em>opt out<\\/em> of some search query limiters<\\/li>\\n<li><strong>[Change]<\\/strong> Some private properties\\/methods have been made public<\\/li>\\n<\\/ul>\\n<p>3.1.7<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with finding partial matches in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> PHP 7.4 compatibility<\\/li>\\n<li><strong>[Update]<\\/strong> Adds class reference to some hooks<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.6<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Default partial match minimum length updated to 3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of quoted searches when highlighting<\\/li>\\n<li><strong>[Improvement]<\\/strong> Integration with WordPress 5.3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Exact matches given more weight when finding partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query quoted search handling in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.5<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Performance when considering document processing<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches resource usage<\\/li>\\n<\\/ul>\\n<p>3.1.4<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced when debugging is enabled and FS_METHOD = ftpext is imposed<\\/li>\\n<li><strong>[Fix]<\\/strong> Custom built admin searches not working as expected in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Search query performance<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of AND logic when considering partial matches and synonyms<\\/li>\\n<li><strong>[Improvement]<\\/strong> Improve performance of partial match handling<\\/li>\\n<li><strong>[Improvement]<\\/strong> Prevention of redundant queries in some cases<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_excerpt_consider_comments to consider Comments when generating global excerpts if no highlight is found<\\/li>\\n<\\/ul>\\n<p>3.1.3<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with tokenizing during searches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Fixes a regression in synonym processing introduced in 3.1<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when performing searches<\\/li>\\n<\\/ul>\\n<p>3.1.2<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Indexer performance regression introduced in 3.1<\\/li>\\n<li><strong>[Fix]<\\/strong> Inaccurate notice displayed when searching in the admin in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> JavaScript error when adding Custom Fields to engines<\\/li>\\n<\\/ul>\\n<p>3.1<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Partial term matching now requires PHP 5.4+<\\/li>\\n<li><strong>[Change]<\\/strong> Synonym handling has been improved, for full explanation see <a href=\\\"https:\\/\\/searchwp.com\\/?p=193232\\\">https:\\/\\/searchwp.com\\/?p=193232<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Support (with caveats) for quoted\\/phrase\\/sentence searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190759\\\">https:\\/\\/searchwp.com\\/?p=190759<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Automatic \\\"Did you mean\\\" handling for misspelled searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190545\\\">https:\\/\\/searchwp.com\\/?p=190545<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Adds core support for keyword stemming for these language codes: EN, DA, NL, FR, DE, IT, NB, NN, PT, RO, RU, ES, SV (if you are using an Extension you can remove it)<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_query_collate_override to override table COLLATE<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_minimum_word_length to control highlighter minimum word length<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_persist_extra_metadata to control whether Extra Metadata is persisted (e.g. to support quoted searches for that data)<\\/li>\\n<li><strong>[New]<\\/strong> Detection for background indexer communication failure in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Global excerpts now implement WordPress\' excerpt_more output where applicable<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match highlighting is more accurate<\\/li>\\n<li><strong>[Improvement]<\\/strong> JavaScript bundlers have been reconfigured and optimized<\\/li>\\n<li><strong>[Fix]<\\/strong> Account for AND logic refinement being too aggressive in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Trigger index when scheduled posts are published<\\/li>\\n<li><strong>[Fix]<\\/strong> Delta updates when editing via Quick Edit<\\/li>\\n<li><strong>[Fix]<\\/strong> Better checks against index when evaluating partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query results are no longer incorrectly overridden with subsequent calls to SWP_Query-&gt;get_posts()<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlighter partial match setting now defaults to core partial match setting<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning when processing purge queue in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Parent weight transfer for Media is no longer enabled by default<\\/li>\\n<li><strong>[Fix]<\\/strong> Global highlight functions are now initialized in a more accessible way<\\/li>\\n<li><strong>[Fix]<\\/strong> z-index problem when adding a Post Type to an engine<\\/li>\\n<li><strong>[Fix]<\\/strong> More consistent handling of internal metadata types<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent inapplicable post types from being considered for search when in the WordPress Dashboard<\\/li>\\n<li><strong>[Fix]<\\/strong> Take exclusive regex matches into consideration when tokenizing<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>For older versions please see <a href=\\\"https:\\/\\/searchwp.com\\/docs\\/changelog-archive\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">the changelog archive<\\/a><\\/p>\\n\"},\"banners\":{\"high\":\"\",\"low\":\"\"},\"icons\":[],\"requires_php\":\"5.6.0\",\"description\":[\"\"],\"changelog\":[\"<p><strong>Note:<\\/strong> SearchWP 4 has been released! Automatic upgrade is not available in this case, please read the <a href=\\\"https:\\/\\/searchwp.com\\/documentation\\/migration-guide\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">Migration Guide<\\/a> for more information.<\\/p>\\n<p>3.1.15<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Updates deprecated jQuery function<\\/li>\\n<\\/ul>\\n<p>3.1.14<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Character encoding issue in PDF parsing in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.13<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with PDF parsing in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>3.1.12<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with partial match return values in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Notice about Deprecated array syntax<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.11<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with synonym partial matching not working as expected in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.10<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with supported post type attributes not appearing in all cases<\\/li>\\n<li><strong>[Change]<\\/strong> Template conflict detection is now opt-in<\\/li>\\n<li><strong>[Update]<\\/strong> Updated dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.9<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Logic issue with one of the query limiters in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.8<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp_query_strict_limiters filter allowing you to <em>opt out<\\/em> of some search query limiters<\\/li>\\n<li><strong>[Change]<\\/strong> Some private properties\\/methods have been made public<\\/li>\\n<\\/ul>\\n<p>3.1.7<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with finding partial matches in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> PHP 7.4 compatibility<\\/li>\\n<li><strong>[Update]<\\/strong> Adds class reference to some hooks<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>3.1.6<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Default partial match minimum length updated to 3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of quoted searches when highlighting<\\/li>\\n<li><strong>[Improvement]<\\/strong> Integration with WordPress 5.3<\\/li>\\n<li><strong>[Improvement]<\\/strong> Exact matches given more weight when finding partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query quoted search handling in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.5<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Performance when considering document processing<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches resource usage<\\/li>\\n<\\/ul>\\n<p>3.1.4<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced when debugging is enabled and FS_METHOD = ftpext is imposed<\\/li>\\n<li><strong>[Fix]<\\/strong> Custom built admin searches not working as expected in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Search query performance<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of AND logic when considering partial matches and synonyms<\\/li>\\n<li><strong>[Improvement]<\\/strong> Improve performance of partial match handling<\\/li>\\n<li><strong>[Improvement]<\\/strong> Prevention of redundant queries in some cases<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_excerpt_consider_comments to consider Comments when generating global excerpts if no highlight is found<\\/li>\\n<\\/ul>\\n<p>3.1.3<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue with tokenizing during searches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Fixes a regression in synonym processing introduced in 3.1<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when performing searches<\\/li>\\n<\\/ul>\\n<p>3.1.2<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Indexer performance regression introduced in 3.1<\\/li>\\n<li><strong>[Fix]<\\/strong> Inaccurate notice displayed when searching in the admin in some cases<\\/li>\\n<\\/ul>\\n<p>3.1.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> JavaScript error when adding Custom Fields to engines<\\/li>\\n<\\/ul>\\n<p>3.1<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Partial term matching now requires PHP 5.4+<\\/li>\\n<li><strong>[Change]<\\/strong> Synonym handling has been improved, for full explanation see <a href=\\\"https:\\/\\/searchwp.com\\/?p=193232\\\">https:\\/\\/searchwp.com\\/?p=193232<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Support (with caveats) for quoted\\/phrase\\/sentence searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190759\\\">https:\\/\\/searchwp.com\\/?p=190759<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Automatic \\\"Did you mean\\\" handling for misspelled searches, for more information see <a href=\\\"https:\\/\\/searchwp.com\\/?p=190545\\\">https:\\/\\/searchwp.com\\/?p=190545<\\/a><\\/li>\\n<li><strong>[New]<\\/strong> Adds core support for keyword stemming for these language codes: EN, DA, NL, FR, DE, IT, NB, NN, PT, RO, RU, ES, SV (if you are using an Extension you can remove it)<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_query_collate_override to override table COLLATE<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_th_minimum_word_length to control highlighter minimum word length<\\/li>\\n<li><strong>[New]<\\/strong> New filter searchwp_persist_extra_metadata to control whether Extra Metadata is persisted (e.g. to support quoted searches for that data)<\\/li>\\n<li><strong>[New]<\\/strong> Detection for background indexer communication failure in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Global excerpts now implement WordPress\' excerpt_more output where applicable<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match highlighting is more accurate<\\/li>\\n<li><strong>[Improvement]<\\/strong> JavaScript bundlers have been reconfigured and optimized<\\/li>\\n<li><strong>[Fix]<\\/strong> Account for AND logic refinement being too aggressive in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Trigger index when scheduled posts are published<\\/li>\\n<li><strong>[Fix]<\\/strong> Delta updates when editing via Quick Edit<\\/li>\\n<li><strong>[Fix]<\\/strong> Better checks against index when evaluating partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> SWP_Query results are no longer incorrectly overridden with subsequent calls to SWP_Query-&gt;get_posts()<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlighter partial match setting now defaults to core partial match setting<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning when processing purge queue in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Parent weight transfer for Media is no longer enabled by default<\\/li>\\n<li><strong>[Fix]<\\/strong> Global highlight functions are now initialized in a more accessible way<\\/li>\\n<li><strong>[Fix]<\\/strong> z-index problem when adding a Post Type to an engine<\\/li>\\n<li><strong>[Fix]<\\/strong> More consistent handling of internal metadata types<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent inapplicable post types from being considered for search when in the WordPress Dashboard<\\/li>\\n<li><strong>[Fix]<\\/strong> Take exclusive regex matches into consideration when tokenizing<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>For older versions please see <a href=\\\"https:\\/\\/searchwp.com\\/docs\\/changelog-archive\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">the changelog archive<\\/a><\\/p>\\n\"]}\";}','no'),(343296,'wpseo_ryte','a:2:{s:6:\"status\";i:1;s:10:\"last_fetch\";i:1655291857;}','yes'),(378067,'searchwp_doing_batch','','no'),(371786,'wpdb_rcp_logs_version','202003051','yes'),(371787,'wpdb_restrict_content_pro_version','202008062','yes'),(371652,'fs_active_plugins','O:8:\"stdClass\":3:{s:7:\"plugins\";a:1:{s:47:\"restrict-content-pro/core/integrations/freemius\";O:8:\"stdClass\":4:{s:7:\"version\";s:5:\"2.4.5\";s:4:\"type\";s:6:\"plugin\";s:9:\"timestamp\";i:1666575764;s:11:\"plugin_path\";s:45:\"restrict-content-pro/restrict-content-pro.php\";}}s:7:\"abspath\";s:30:\"/home/uswork5/public_html/dev/\";s:6:\"newest\";O:8:\"stdClass\":5:{s:11:\"plugin_path\";s:45:\"restrict-content-pro/restrict-content-pro.php\";s:8:\"sdk_path\";s:47:\"restrict-content-pro/core/integrations/freemius\";s:7:\"version\";s:5:\"2.4.5\";s:13:\"in_activation\";b:0;s:9:\"timestamp\";i:1666575764;}}','yes'),(371653,'fs_debug_mode','','yes'),(371654,'fs_accounts','a:6:{s:21:\"id_slug_type_path_map\";a:2:{i:94;a:3:{s:4:\"slug\";s:21:\"wp-security-audit-log\";s:4:\"type\";s:6:\"plugin\";s:4:\"path\";s:47:\"wp-security-audit-log/wp-security-audit-log.php\";}i:10401;a:3:{s:4:\"slug\";s:3:\"rcp\";s:4:\"type\";s:6:\"plugin\";s:4:\"path\";s:45:\"restrict-content-pro/restrict-content-pro.php\";}}s:11:\"plugin_data\";a:2:{s:21:\"wp-security-audit-log\";a:16:{s:16:\"plugin_main_file\";O:8:\"stdClass\":1:{s:4:\"path\";s:47:\"wp-security-audit-log/wp-security-audit-log.php\";}s:20:\"is_network_activated\";b:0;s:17:\"install_timestamp\";i:1600275671;s:17:\"was_plugin_loaded\";b:1;s:21:\"is_plugin_new_install\";b:0;s:16:\"sdk_last_version\";s:5:\"2.4.3\";s:11:\"sdk_version\";s:5:\"2.4.5\";s:16:\"sdk_upgrade_mode\";b:1;s:18:\"sdk_downgrade_mode\";b:0;s:19:\"plugin_last_version\";s:5:\"4.4.1\";s:14:\"plugin_version\";s:7:\"4.4.2.1\";s:19:\"plugin_upgrade_mode\";b:1;s:21:\"plugin_downgrade_mode\";b:0;s:17:\"connectivity_test\";a:6:{s:12:\"is_connected\";b:1;s:4:\"host\";s:15:\"usworkworld.com\";s:9:\"server_ip\";s:13:\"96.238.94.233\";s:9:\"is_active\";b:1;s:9:\"timestamp\";i:1600275671;s:7:\"version\";s:7:\"4.1.3.2\";}s:15:\"prev_is_premium\";b:0;s:16:\"uninstall_reason\";O:8:\"stdClass\":3:{s:2:\"id\";s:2:\"15\";s:4:\"info\";s:0:\"\";s:12:\"is_anonymous\";b:0;}}s:3:\"rcp\";a:17:{s:16:\"plugin_main_file\";O:8:\"stdClass\":1:{s:4:\"path\";s:45:\"restrict-content-pro/restrict-content-pro.php\";}s:20:\"is_network_activated\";b:0;s:17:\"install_timestamp\";i:1664589641;s:17:\"was_plugin_loaded\";b:1;s:21:\"is_plugin_new_install\";b:0;s:16:\"sdk_last_version\";N;s:11:\"sdk_version\";s:5:\"2.4.5\";s:16:\"sdk_upgrade_mode\";b:1;s:18:\"sdk_downgrade_mode\";b:0;s:19:\"plugin_last_version\";s:6:\"3.5.25\";s:14:\"plugin_version\";s:6:\"3.5.26\";s:19:\"plugin_upgrade_mode\";b:1;s:21:\"plugin_downgrade_mode\";b:0;s:17:\"connectivity_test\";a:6:{s:12:\"is_connected\";b:1;s:4:\"host\";s:15:\"usworkworld.com\";s:9:\"server_ip\";s:13:\"71.93.130.127\";s:9:\"is_active\";b:1;s:9:\"timestamp\";i:1664589641;s:7:\"version\";s:6:\"3.5.23\";}s:15:\"prev_is_premium\";b:0;s:18:\"sticky_optin_added\";b:1;s:12:\"is_anonymous\";a:3:{s:2:\"is\";b:1;s:9:\"timestamp\";i:1664764481;s:7:\"version\";s:6:\"3.5.23\";}}}s:13:\"file_slug_map\";a:2:{s:47:\"wp-security-audit-log/wp-security-audit-log.php\";s:21:\"wp-security-audit-log\";s:45:\"restrict-content-pro/restrict-content-pro.php\";s:3:\"rcp\";}s:7:\"plugins\";a:2:{s:21:\"wp-security-audit-log\";O:9:\"FS_Plugin\":23:{s:16:\"parent_plugin_id\";N;s:5:\"title\";s:15:\"WP Activity Log\";s:4:\"slug\";s:21:\"wp-security-audit-log\";s:12:\"premium_slug\";s:29:\"wp-security-audit-log-premium\";s:4:\"type\";s:6:\"plugin\";s:20:\"affiliate_moderation\";b:0;s:19:\"is_wp_org_compliant\";b:1;s:22:\"premium_releases_count\";N;s:4:\"file\";s:47:\"wp-security-audit-log/wp-security-audit-log.php\";s:7:\"version\";s:7:\"4.4.2.1\";s:11:\"auto_update\";N;s:4:\"info\";N;s:10:\"is_premium\";b:0;s:14:\"premium_suffix\";s:9:\"(Premium)\";s:7:\"is_live\";b:1;s:9:\"bundle_id\";N;s:17:\"bundle_public_key\";N;s:10:\"public_key\";s:32:\"pk_d602740d3088272d75906045af9fa\";s:10:\"secret_key\";N;s:2:\"id\";s:2:\"94\";s:7:\"updated\";N;s:7:\"created\";N;s:22:\"\0FS_Entity\0_is_updated\";b:0;}s:3:\"rcp\";O:9:\"FS_Plugin\":23:{s:16:\"parent_plugin_id\";N;s:5:\"title\";s:20:\"Restrict Content Pro\";s:4:\"slug\";s:3:\"rcp\";s:12:\"premium_slug\";s:11:\"rcp-premium\";s:4:\"type\";s:6:\"plugin\";s:20:\"affiliate_moderation\";b:0;s:19:\"is_wp_org_compliant\";b:1;s:22:\"premium_releases_count\";N;s:4:\"file\";s:45:\"restrict-content-pro/restrict-content-pro.php\";s:7:\"version\";s:6:\"3.5.26\";s:11:\"auto_update\";N;s:4:\"info\";N;s:10:\"is_premium\";b:0;s:14:\"premium_suffix\";s:9:\"(Premium)\";s:7:\"is_live\";b:1;s:9:\"bundle_id\";N;s:17:\"bundle_public_key\";N;s:10:\"public_key\";s:32:\"pk_b2fbc7855865cb002c41403a3efaa\";s:10:\"secret_key\";N;s:2:\"id\";s:5:\"10401\";s:7:\"updated\";N;s:7:\"created\";N;s:22:\"\0FS_Entity\0_is_updated\";b:1;}}s:9:\"unique_id\";s:32:\"e0c308fa967a839d392f0c06aca105d4\";s:13:\"admin_notices\";a:2:{s:21:\"wp-security-audit-log\";a:0:{}s:3:\"rcp\";a:0:{}}}','yes'),(371655,'fs_gdpr','a:2:{s:2:\"u2\";a:1:{s:8:\"required\";b:0;}s:4:\"u468\";a:1:{s:8:\"required\";b:0;}}','yes'),(600428,'wsal_pruning-date','6 months','no'),(500282,'wsal_site_content','O:8:\"stdClass\":4:{s:7:\"plugins\";a:28:{i:0;s:34:\"acf-content-analysis-for-yoast-seo\";i:1;s:22:\"advanced-custom-fields\";i:2;s:12:\"antispam-bee\";i:3;s:27:\"black-studio-tinymce-widget\";i:4;s:14:\"classic-editor\";i:5;s:41:\"content-views-query-and-display-post-page\";i:6;s:9:\"debug-bar\";i:7;s:17:\"debug-bar-console\";i:8;s:14:\"disable-emails\";i:9;s:16:\"download-monitor\";i:10;s:14:\"dlm-page-addon\";i:11;s:20:\"ewww-image-optimizer\";i:12;s:9:\"if-widget\";i:13;s:25:\"login-or-logout-menu-item\";i:14;s:14:\"nav-menu-roles\";i:15;s:41:\"official-statcounter-plugin-for-wordpress\";i:16;s:37:\"restrict-content-pro-download-monitor\";i:17;s:26:\"rcp-hide-proration-message\";i:18;s:20:\"restrict-content-pro\";i:19;s:38:\"rcp-custom-user-fields-usworkworld.php\";i:20;s:8:\"searchwp\";i:21;s:23:\"searchwp-customisations\";i:22;s:13:\"tpg-get-posts\";i:23;s:17:\"usww-rcp-mods.php\";i:24;s:14:\"w3-total-cache\";i:25;s:21:\"wonderplugin-carousel\";i:26;s:21:\"wp-security-audit-log\";i:27;s:13:\"wordpress-seo\";}s:12:\"skip_plugins\";a:36:{i:0;s:34:\"acf-content-analysis-for-yoast-seo\";i:1;s:22:\"advanced-custom-fields\";i:2;s:12:\"antispam-bee\";i:3;s:27:\"black-studio-tinymce-widget\";i:4;s:14:\"classic-editor\";i:5;s:41:\"content-views-query-and-display-post-page\";i:6;s:9:\"debug-bar\";i:7;s:17:\"debug-bar-console\";i:8;s:14:\"disable-emails\";i:9;s:16:\"download-monitor\";i:10;s:14:\"dlm-page-addon\";i:11;s:20:\"ewww-image-optimizer\";i:12;s:9:\"if-widget\";i:13;s:25:\"login-or-logout-menu-item\";i:14;s:14:\"nav-menu-roles\";i:15;s:41:\"official-statcounter-plugin-for-wordpress\";i:16;s:37:\"restrict-content-pro-download-monitor\";i:17;s:26:\"rcp-hide-proration-message\";i:18;s:20:\"restrict-content-pro\";i:19;s:38:\"rcp-custom-user-fields-usworkworld.php\";i:20;s:8:\"searchwp\";i:21;s:23:\"searchwp-customisations\";i:22;s:13:\"tpg-get-posts\";i:23;s:17:\"usww-rcp-mods.php\";i:24;s:14:\"w3-total-cache\";i:25;s:21:\"wonderplugin-carousel\";i:26;s:21:\"wp-security-audit-log\";i:27;s:13:\"wordpress-seo\";i:28;s:20:\"ewww-image-optimizer\";i:29;s:20:\"restrict-content-pro\";i:30;s:14:\"w3-total-cache\";i:31;s:34:\"acf-content-analysis-for-yoast-seo\";i:32;s:13:\"wordpress-seo\";i:33;s:20:\"restrict-content-pro\";i:34;s:14:\"w3-total-cache\";i:35;s:21:\"wp-security-audit-log\";}s:6:\"themes\";a:3:{i:0;s:8:\"starkers\";i:1;s:14:\"twentynineteen\";i:2;s:13:\"yourweblayout\";}s:11:\"skip_themes\";a:3:{i:0;s:8:\"starkers\";i:1;s:14:\"twentynineteen\";i:2;s:13:\"yourweblayout\";}}','no'),(600435,'wsal_version','4.4.1','yes'),(522683,'wsal_plugin_version','4.5.2','no'),(371668,'fs_wsalp','no','yes'),(371665,'fs_api_cache','a:0:{}','no'),(600434,'wsal_setup-modal-dismissed','yes','yes'),(500274,'wsal_details-level','geek','no'),(600433,'wsal_frontend-events','a:3:{s:8:\"register\";b:0;s:5:\"login\";b:1;s:11:\"woocommerce\";b:0;}','yes'),(600429,'wsal_pruning-date-e','yes','no'),(500281,'wsal_setup-complete','yes','no'),(371185,'wonderplugin_carousel_initd','1600138502','yes'),(368748,'edd_sl_69486987e3bbae3ac76b74a6ef781d4b','a:2:{s:7:\"timeout\";i:1686022758;s:5:\"value\";s:77334:\"{\"new_version\":\"4.3.1\",\"stable_version\":\"4.3.1\",\"name\":\"SearchWP 4\",\"slug\":\"index\",\"url\":\"https:\\/\\/searchwp.com\\/downloads\\/searchwp-4\\/?changelog=1\",\"last_updated\":\"2023-04-17 15:58:37\",\"homepage\":\"https:\\/\\/searchwp.com\\/downloads\\/searchwp-4\\/\",\"package\":\"https:\\/\\/searchwp.com\\/edd-sl\\/package_download\\/MTY4NjEyNzE1ODozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOToyMTYwMjk6ZjllZWFkYWM0YzVlOTBjODJhNjljMjdjODZmZjYwMjk6aHR0cHNALy91c3dvcmt3b3JsZC5jb206MA==\",\"download_link\":\"https:\\/\\/searchwp.com\\/edd-sl\\/package_download\\/MTY4NjEyNzE1ODozMzhlN2IxM2E0ZGYzMzhhMDcwZWExZDMxMzExYTJlOToyMTYwMjk6ZjllZWFkYWM0YzVlOTBjODJhNjljMjdjODZmZjYwMjk6aHR0cHNALy91c3dvcmt3b3JsZC5jb206MA==\",\"sections\":{\"description\":\"\",\"changelog\":\"<p>4.3.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> &quot;Did you mean?&quot; feature prevents stemming from working<\\/li>\\n<li><strong>[Fix]<\\/strong> Strict AND logic set via the filter allows OR results<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches use a wildcard when it is not needed<\\/li>\\n<li><strong>[Fix]<\\/strong> ACF suggestions are missing from the Custom Fields dropdown in the Source Attributes modal<\\/li>\\n<li><strong>[Fix]<\\/strong> Settings in the Misc tab are not saving in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics page shows UI which cannot be used by users with Statistics capability<\\/li>\\n<li><strong>[Fix]<\\/strong> Notifications icon is shown to users who cannot use it because of capability restrictions<\\/li>\\n<li><strong>[Fix]<\\/strong> Minor styling issues in the plugin settings<\\/li>\\n<\\/ul>\\n<p>4.3.0<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Admin settings UI redesign<\\/li>\\n<\\/ul>\\n<p>4.2.9<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Debugging Console to view debugging data in a browser panel style<\\/li>\\n<li><strong>[Improvement]<\\/strong> Prevent page slowdown when a taxonomy term is updated<\\/li>\\n<li><strong>[Improvement]<\\/strong> Set default value for Post Excerpt weight to a minimum<\\/li>\\n<li><strong>[Improvement]<\\/strong> Updated Stemmer library for better keyword stemming and PHP 8 compatibility<\\/li>\\n<li><strong>[Improvement]<\\/strong> Updated PdfParser library for better PDF parsing<\\/li>\\n<li><strong>[Fix]<\\/strong> \\\"Vue is in development mode\\\" console notice on the Settings screen<\\/li>\\n<li><strong>[Fix]<\\/strong> Deprecation notices on PHP 8.2<\\/li>\\n<li><strong>[Fix]<\\/strong> Plugin text domain is not loading properly<\\/li>\\n<\\/ul>\\n<p>4.2.8<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> In-plugin notification system to get the latest updates from SearchWP<\\/li>\\n<\\/ul>\\n<p>4.2.7<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Highlighter gives precedence to exact phrase search if present<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduced memory usage when generating the excerpt<\\/li>\\n<li><strong>[Fix]<\\/strong> Stemming prevents partial matches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlighting not working with quoted searches in some cases<\\/li>\\n<\\/ul>\\n<p>4.2.6<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Improved AJAX actions security<\\/li>\\n<li><strong>[Improvement]<\\/strong> Updated the PdfParser library for better PDF parsing and improved compatibility<\\/li>\\n<li><strong>[Fix]<\\/strong> Engines errors are not accessible by external code because of the private visibility<\\/li>\\n<li><strong>[Fix]<\\/strong> License gets deactivated periodically for some rare server configurations<\\/li>\\n<\\/ul>\\n<p>4.2.5<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Exclude taxonomy name from indexed taxonomy term fields<\\/li>\\n<li><strong>[Improvement]<\\/strong> Do not index the image src attribute in the post content by default<\\/li>\\n<li><strong>[Fix]<\\/strong> No post type exists check during SWP_Query query<\\/li>\\n<li><strong>[Fix]<\\/strong> Existing SWP_Query post type can be overridden with $_REQUEST<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms and stemming affecting AND logic query<\\/li>\\n<\\/ul>\\n<p>4.2.4<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Better handling of quoted phrases in synonyms<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms not working with non-ASCII strings<\\/li>\\n<li><strong>[Fix]<\\/strong> Max nesting function when synonyms are applied<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms are not case-insensitive<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms affecting the stemming functionality<\\/li>\\n<li><strong>[Fix]<\\/strong> Metrics related click tracking error in multisite environment<\\/li>\\n<li><strong>[Fix]<\\/strong> Merging words during HTML content tokenization if <br \\/> is used in the content<\\/li>\\n<li><strong>[Fix]<\\/strong> Hiding SearchWP admin menu via the hook leaves a link to it in the admin bar menu<\\/li>\\n<li><strong>[Fix]<\\/strong> MySQL error if engine sources have no attributes<\\/li>\\n<li><strong>[Fix]<\\/strong> Error if &#39;s&#39; parameter in the request is not a string<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning if a custom field is added to the Users in the engine settings<\\/li>\\n<li><strong>[Fix]<\\/strong> Return type compatibility notice in PHP 8.1 for jsonSerialize() method<\\/li>\\n<\\/ul>\\n<p>4.2.3<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when getting \'post__in\' and \'post__not_in\' ids<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms work incorrectly when AND search logic is applied<\\/li>\\n<li><strong>[Fix]<\\/strong> Posts are not dropped from the index when a taxonomy term is updated<\\/li>\\n<li><strong>[Fix]<\\/strong> Quoted searches give too broad results on custom fields<\\/li>\\n<li><strong>[Fix]<\\/strong> Quoted searches query has redundant subqueries<\\/li>\\n<li><strong>[Fix]<\\/strong> Cross-site search limited results if \\\"all\\\" is passed as site args<\\/li>\\n<\\/ul>\\n<p>4.2.2<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Extensions admin page to install, activate and deactivate SearchWP extensions in one click<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when getting engines configuration<\\/li>\\n<li><strong>[Fix]<\\/strong> Search terms highlighting doesn\'t work well with quoted searches<\\/li>\\n<li><strong>[Fix]<\\/strong> Posts are not dropped from the index when a taxonomy term is deleted from the site<\\/li>\\n<li><strong>[Fix]<\\/strong> Stemming prevents partial matches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Search terms highlighting give unexpected results with partial matches<\\/li>\\n<\\/ul>\\n<p>4.2.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Edited document content is not preserved<\\/li>\\n<li><strong>[Fix]<\\/strong> Broken URLs for the redirects to the legacy admin settings<\\/li>\\n<li><strong>[Fix]<\\/strong> Class prefixing error in smalot\\/pdfparser lib<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP7 static code analyzer error in symfony\\/polyfill-mbstring lib<\\/li>\\n<\\/ul>\\n<p>4.2.0<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Plugin settings moved to the top-level menu<\\/li>\\n<li><strong>[Fix]<\\/strong> Undefined function error during the \'index\' CLI command execution<\\/li>\\n<li><strong>[Fix]<\\/strong> Merging words in some cases during HTML content tokenization<\\/li>\\n<\\/ul>\\n<p>4.1.22<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Synonym application too broad in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Document content reindexing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Missing method reference in Comment source<\\/li>\\n<li><strong>[Fix]<\\/strong> Forced phrase search returns no results if the search string doesn\'t contain non-phrase tokens<\\/li>\\n<li><strong>[Improvement]<\\/strong> Search string normalization<\\/li>\\n<li><strong>[Improvement]<\\/strong> String highlight application when synonyms are applied<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of double quotes in synonym logic in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.21<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Apply AND logic when applicable during quoted search query<\\/li>\\n<li><strong>[Fix]<\\/strong> Default application of \'Did you mean?\' functionality in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.1.19 that prevented some results from displaying in some cases<\\/li>\\n<li><strong>[New]<\\/strong> Filter searchwp\\\\native\\\\args\\\\post_type to modify native search post type when necessary<\\/li>\\n<\\/ul>\\n<p>4.1.20<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Synonym processing now stops after first application unless searchwp\\\\synonyms\\\\aggressive filter returns false<\\/li>\\n<li><strong>[Fix]<\\/strong> Global excerpt and highlighting process now uses original search string, disregarding any filtration in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.19<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Consider Excerpt when performing quoted search<\\/li>\\n<li><strong>[Fix]<\\/strong> Multisite re\\/index using WP-CLI<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlight application with flanking punctuation in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlight application with stemming enabled in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP 8 compatibility<\\/li>\\n<li><strong>[New]<\\/strong> de_DE_formal translation<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>4.1.18<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Global excerpt generation due to newline<\\/li>\\n<li><strong>[Fix]<\\/strong> Relevance minimum clause implementation<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent search suggestion output outside main query<\\/li>\\n<li><strong>[Fix]<\\/strong> Incorrect fields argument definition in some cases (caused FacetWP facets to not render in some cases)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Highlight matching in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.17<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Added relevance() method to Mods to allow additional manipulation of relevance calculation during searches<\\/li>\\n<li><strong>[Improvement]<\\/strong> Refactored WP All Import integration<\\/li>\\n<li><strong>[Fix]<\\/strong> Character encoding when finding global excerpts in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.16<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp\\\\index\\\\source\\\\add_hooks filter to allow prevention of core hook implementation<\\/li>\\n<li><strong>[New]<\\/strong> Integration with WP All Import to better react to import processes<\\/li>\\n<li><strong>[Improvement]<\\/strong> Global excerpt generation in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer state handling when programmatically pausing\\/unpausing<\\/li>\\n<li><strong>[Fix]<\\/strong> Searching Media in the WordPress Admin in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Handling (omitting) of entries that failed indexing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics migration from SearchWP 3 (if Statistics failed to migrate, please open a support ticket for direct assistance)<\\/li>\\n<\\/ul>\\n<p>4.1.15<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Partial matching in synonyms has been changed, to apply partial matching add a * wildcard where partial matching should be applied<\\/li>\\n<li><strong>[Change]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Global excerpt generation in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.1.12 that prevented results in some cases when setting AND logic to be strict<\\/li>\\n<\\/ul>\\n<p>4.1.14<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[New]<\\/strong> Rule for Media to consider filename<\\/li>\\n<li><strong>[New]<\\/strong> Rule for Pages and hierarchical CPTs to consider ancestry<\\/li>\\n<li><strong>[New]<\\/strong> Rule for Pages and hierarchical CPTs to consider post_parent<\\/li>\\n<li><strong>[New]<\\/strong> Edit and View actions for omitted entries<\\/li>\\n<li><strong>[New]<\\/strong> Support for Beaver Builder Search Module<\\/li>\\n<li><strong>[Fix]<\\/strong> Parallel indexing process when rebuilding index using WP-CLI in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Customization of post stati in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Additional background process health check<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of synonym input strings in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Default regular expression patterns<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>4.1.13<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Admin search of hierarchical post types<\\/li>\\n<li><strong>[Fix]<\\/strong> Support ticket iframe height minimum in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match logic in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.12<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[New]<\\/strong> Upper threshold that prevents AND logic when too many terms make it a performance issue (default is 5 token groups)<\\/li>\\n<li><strong>[New]<\\/strong> Filter searchwp\\\\query\\\\logic\\\\and\\\\token_threshold to control AND logic token threshold (return false to disable threshold consideration)<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with searching Users in the WP Admin<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with setting query fields in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics CSS issue in Safari in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.11<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.1.9 that prevented saving parent weight transfer<\\/li>\\n<li><strong>[Improved]<\\/strong> PDF parsing in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.10<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Background process cookie validation in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.9<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduction in index bloat in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Comment parents being incorrectly returned in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when weight transfer was enabled but no recipient defined<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when using PHP8 in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.8<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Race condition prevention in background process<\\/li>\\n<li><strong>[Change]<\\/strong> Index controller no longer observes site switching, if switching sites you will need to first use the searchwp\\\\auto_update_providers hook<\\/li>\\n<li><strong>[Change]<\\/strong> Keyword stemming enabled by default during setup<\\/li>\\n<li><strong>[Fix]<\\/strong> Results when keyword stemming and partial matching is enabled and tokens are exact matches and stemmable<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics migration from SearchWP 3 in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Automatic integration with page builder plugin in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with ACF Repeatables not appearing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with not being able to add custom Custom Field keys to an Engine Source<\\/li>\\n<\\/ul>\\n<p>4.1.7<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Multisite performance issue that could lead to an Error in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics migration from SearchWP v3 (Regression introduced in 4.1.0)<\\/li>\\n<\\/ul>\\n<p>4.1.6<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Database table index optimization introduced in 4.1.5 in some configurations<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches with stemming enabled during AND logic in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> AND logic handling in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.5<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Exact match buoy in partial match logic<\\/li>\\n<li><strong>[Fix]<\\/strong> Implementation of query when site is set to \'all\' to search all network sites<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match logic<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of invalid tokens when finding partial matches<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance when applying delta index updates<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance when dropping Entries<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of duplicate tokens in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Native integration in non-standard environments (e.g. page builders)<\\/li>\\n<\\/ul>\\n<p>4.1.4<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Error during partial match application on synonyms in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Admin search handling in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.3<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonym partial matches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics display with Statistics capability but not Settings capability<\\/li>\\n<li><strong>[Fix]<\\/strong> HTTP Basic Auth credentials regression introduced in 4.1.0<\\/li>\\n<li><strong>[Fix]<\\/strong> AND logic performance regression introduced in 4.1.0 in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> AND logic performance in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Background process health check coverage<\\/li>\\n<li><strong>[Improvement]<\\/strong> PHP 8 compatibility<\\/li>\\n<\\/ul>\\n<p>4.1.2<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer handling of concurrent invocations, health check\\/restart when process encounters Errors<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer in multisite environment<\\/li>\\n<li><strong>[Fix]<\\/strong> AND logic restrictions in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.1<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when highlighting in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.0<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[New]<\\/strong> Refactored indexer for stability, reliability, and performance optimization<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\index\\\\update_entry action when an Entry is updated in the Index<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\debug\\\\front_end_summary filter to control whether the HTML comment summary is output when debugging is enabled<\\/li>\\n<li><strong>[New]<\\/strong> wp searchwp reindex WP-CLI command<\\/li>\\n<li><strong>[New]<\\/strong> wp searchwp diagnostics WP-CLI command<\\/li>\\n<li><strong>[New]<\\/strong> Primary keys added to database tables <em>for new installs<\\/em> where previously there were none<\\/li>\\n<li><strong>[New]<\\/strong> Adds $query property to \\\\SWP_Query to reference underlying query object<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\source\\\\comment\\\\parent_attribution\\\\strict hook to control whether SearchWP is strict about parent attribution which can introduce overhead in some cases<\\/li>\\n<li><strong>[New]<\\/strong> SearchWP will now generate more expected variations of regex pattern matches<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\tokens\\\\generate_parttern_match_variations filter to control whether additional pattern match variations are generated during indexing<\\/li>\\n<li><strong>[New]<\\/strong> Ability to enter custom ignored queries for Statistics (with wildcard * support)<\\/li>\\n<li><strong>[New]<\\/strong> Ability to automatically trim Statistics logs<\\/li>\\n<li><strong>[New]<\\/strong> Notice when WordPress available memory can be improved<\\/li>\\n<li><strong>[New]<\\/strong> Export\\/import now optionally includes Settings, Stopwords, and Synonyms<\\/li>\\n<li><strong>[New]<\\/strong> All ACF fields are displayed in the Custom Fields dropdown when applicable, not only ACF \\\"Repeatables\\\"<\\/li>\\n<li><strong>[New]<\\/strong> Synonyms actions: Sort ASC, Sort DESC, Clear<\\/li>\\n<li><strong>[Change]<\\/strong> Refines default data indexed for Taxonomy Terms to be: taxonomy name, term name, term slug, and term description<\\/li>\\n<li><strong>[Change]<\\/strong> Abstracts Statistics Dashboard Widget from jquery-ui-tabs<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer auto-scaling when server load is high<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of HTML-formed content during indexing<\\/li>\\n<li><strong>[Improvement]<\\/strong> Integration of partial matches and keyword stemming<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer delta trigger specificity in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Document processing handling, footprint<\\/li>\\n<li><strong>[Improvement]<\\/strong> Highlighting when a suggested search has been returned<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent duplicate results during weight transfer in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> AND logic restriction, performance in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Persistent dismissal of missing integration notice<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms management in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<li><strong>[Update]<\\/strong> Interface updates and refinements<\\/li>\\n<\\/ul>\\n<p>4.0.34<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Fixes regression introduced by Shortcodes fix in 4.0.33 (proper fix in Shortcodes 1.8.2)<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>4.0.33<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp\\\\swp_query\\\\mods filter to add Mods to SWP_Query<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP Warning introduced in 4.0.32<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevention of duplicate indexing processes in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Display issue on Statistics screen<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP Warning when Admin color schemes have been removed<\\/li>\\n<li><strong>[Fix]<\\/strong> PDF parsing taking place unnecssarily in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Disable searchwp_search_results Shortcode when generating excerpts so as to prevent unwanted loop<\\/li>\\n<\\/ul>\\n<p>4.0.32<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Duplicate indexer processes in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Inaccurate batch size handling in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent redundant search suggestion output in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Post stati validation when parent attribution is enabled<\\/li>\\n<li><strong>[Improvement]<\\/strong> Attachment status handling over time<\\/li>\\n<li><strong>[New]<\\/strong> RAND(seed) support by suffixing random Mod order_by with a colon and seed e.g. random:10 will be RAND(10)<\\/li>\\n<\\/ul>\\n<p>4.0.31<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Adds NOT IN option to Media File Type Rule<\\/li>\\n<li><strong>[Improvement]<\\/strong> Debug HTML comment block output during Admin requests<\\/li>\\n<li><strong>[Fix]<\\/strong> Custom Attribute Options not returning proper Label after saving<\\/li>\\n<li><strong>[Fix]<\\/strong> Relocate searchwp\\\\query\\\\search_string hook to fire earlier<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue when performing cross-site Multisite search<\\/li>\\n<li><strong>[Fix]<\\/strong> searchwp\\\\query\\\\tokens\\\\limit default value<\\/li>\\n<li><strong>[New]<\\/strong> Action searchwp\\\\query\\\\core_mods_out_of_bounds fires when core Mods are considered out of bounds<\\/li>\\n<\\/ul>\\n<p>4.0.30<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> UI changes introduced by WordPress 5.5<\\/li>\\n<li><strong>[Fix]<\\/strong> Global excerpt generation from search suggestions<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonym migration from SearchWP 3.x<\\/li>\\n<\\/ul>\\n<p>4.0.29<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Token handling in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Document content handling when using alternate indexer in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Tokenization of HTML in some cases<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\entry\\\\update_data\\\\before action fired before Entry data is retrieved<\\/li>\\n<li><strong>[Update]<\\/strong> Bundle dependencies<\\/li>\\n<\\/ul>\\n<p>4.0.28<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Prevent inapplicable comment edit events from triggering delta updates<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduced index method checks<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reactivity when observing meta updates<\\/li>\\n<\\/ul>\\n<p>4.0.27<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> File Content meta box display in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Entries not being reintroduced after failing when using alternate indexer<\\/li>\\n<li><strong>[Fix]<\\/strong> Display of Source Attribute Options when statically defined<\\/li>\\n<li><strong>[Fix]<\\/strong> UI display edge cases<\\/li>\\n<li><strong>[Change]<\\/strong> Token handling chunked in more cases so as to avoid issues when hosts limit query character length<\\/li>\\n<\\/ul>\\n<p>4.0.26<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Handling of SWP_Query tax_query argument<\\/li>\\n<li><strong>[New]<\\/strong> Advanced setting checkbox to control whether stored document content is purged and re-indexed during index rebuilds<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>4.0.25<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.0.24 when utilizing PDF Metadata<\\/li>\\n<li><strong>[Improvement]<\\/strong> Note displayed in SearchWP Document Content meta box when document is queued but not yet processed<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>4.0.24<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Handling of PDF metadata that includes invalid characters<\\/li>\\n<li><strong>[Fix]<\\/strong> Searching of hierarchical post types in the Admin<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance when handling documents outside the indexing process<\\/li>\\n<li><strong>[Update]<\\/strong> Bundle dependencies<\\/li>\\n<\\/ul>\\n<p>4.0.23<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Utilize previously extracted PDF metadata instead of parsing it repeatedly<\\/li>\\n<li><strong>[Change]<\\/strong> Updated default batch size for Media to 3, can be customized with searchwp\\\\indexer\\\\batch_size\\\\post.attachment hook<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of urlencoded tokens in some cases<\\/li>\\n<\\/ul>\\n<p>4.0.22<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Query parameter support for post_type when using SWP_Query (additional parameter support is planned)<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with partial matching yielding zero results in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Quoted search support for WP_Post Content, Document Content<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduced debug log volume (logs should be deleted once you\'re done debugging)<\\/li>\\n<\\/ul>\\n<p>4.0.20<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> New filter searchwp\\\\source\\\\post\\\\db_where to customize global WHERE limits per post type<\\/li>\\n<li><strong>[New]<\\/strong> License key is automatically activated when provided via constant or hook<\\/li>\\n<li><strong>[Fix]<\\/strong> Error on uninstall when removing all data<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue where Mods were not applied to SWP_Query in some cases<\\/li>\\n<li><strong>[Change]<\\/strong> No longer relying on excerpt_more when working with excerpts, now using ellipsis filtered by searchwp\\\\utils\\\\excerpt_more<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of rare cases where index would need to be woken up repeatedly in order to build<\\/li>\\n<li><strong>[Improvement]<\\/strong> Omits redundant Entry retrieval in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Significant performance retrieval when generating excerpts (e.g. Highlighting)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Advanced Custom Fields integration support<\\/li>\\n<\\/ul>\\n<p>4.0.19<\\/p>\\n<ul>\\n<li><strong>[Notice]<\\/strong> Mods have in part been cleaned up and refined in this release, which may affect your usage. Please review any Mods you are using by testing this update on a staging server. If you are manipulating relevance weight based on date, it is likely you will need to update your hooks. Snippets have been updated on the KB article <a href=\\\"https:\\/\\/searchwp.com\\/?p=222848\\\">https:\\/\\/searchwp.com\\/?p=222848<\\/a> for review. Please also ensure your SearchWP Extensions are up to date as well.<\\/li>\\n<li><strong>[Fix]<\\/strong> Source Mod WHERE clauses causing errors in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Raw Mod WHERE clauses had no local alias to utilize<\\/li>\\n<li><strong>[Fix]<\\/strong> Mod JOIN claus order was not retained causing errors in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Optimized Mod handling in SWP_Query<\\/li>\\n<li><strong>[Improvement]<\\/strong> Disable integration extension checks when doing AJAX<\\/li>\\n<\\/ul>\\n<p>4.0.18<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Error when using mod argument of \\\\SearchWP\\\\Query parameters array<\\/li>\\n<li><strong>[Improvement]<\\/strong> Control over Settings page navigation<\\/li>\\n<\\/ul>\\n<p>4.0.17<\\/p>\\n<ul>\\n<li><strong>[Note]<\\/strong> Rebuilding your index using the Rebuild Index button on the Engines tab of the SearchWP settings screen is recommended after updating<\\/li>\\n<li><strong>[Fix]<\\/strong> Delta update regression introduced in 4.0.13<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when applying delta update to Source that no longer exists<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of delta update process during failures<\\/li>\\n<li><strong>[Improvement]<\\/strong> Delta update queue handling during index rebuild<\\/li>\\n<\\/ul>\\n<p>4.0.16<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Invalid range in character class introduced in 4.0.15 for PHP 7.3+<\\/li>\\n<li><strong>[Change]<\\/strong> searchwp\\\\tokens\\\\whitelist\\\\only_full_matches retagged as searchwp\\\\tokens\\\\regex_patterns\\\\only_full_matches<\\/li>\\n<li><strong>[Change]<\\/strong> searchwp\\\\tokens\\\\apply_rules_to_whitelist retagged as searchwp\\\\tokens\\\\apply_rules_to_pattern_matches<\\/li>\\n<li><strong>[Change]<\\/strong> searchwp\\\\tokens\\\\whitelist_regex_patterns retagged as searchwp\\\\tokens\\\\regex_patterns<\\/li>\\n<li><strong>[Change]<\\/strong> Regex pattern matches are now tokenized during indexing (but remain exclusive when searching by default when applicable)<\\/li>\\n<li><strong>[New]<\\/strong> Filter searchwp\\\\tokens\\\\tokenize_pattern_matches\\\\indexing to disable new tokenizing of pattern match behavior during indexing<\\/li>\\n<\\/ul>\\n<p>4.0.15<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> New filter searchwp\\\\tokens\\\\string to customize strings before tokenization<\\/li>\\n<li><strong>[Fix]<\\/strong> Handling of synonyms when finding partial matches<\\/li>\\n<li><strong>[Fix]<\\/strong> Implementation and handling of regex pattern match tokenization setting<\\/li>\\n<li><strong>[Improvement]<\\/strong> Dash\\/hyphen and word match regex patterns<\\/li>\\n<li><strong>[Improvement]<\\/strong> searchwp\\\\source\\\\post\\\\excerpt_haystack filter now passes arguments array<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>4.0.14<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue where partial matches from keyword stems were not found in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial match token processing limited to applicable site(s)<\\/li>\\n<li><strong>[Fix]<\\/strong> Excerpt generation when handling unregistered Shortcodes<\\/li>\\n<\\/ul>\\n<p>4.0.13<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Delta update routine when using alternate indexer that caused unwanted exit<\\/li>\\n<li><strong>[Fix]<\\/strong> <strong>searchwp\\\\document\\\\content<\\/strong> implementation<\\/li>\\n<li><strong>[Improvement]<\\/strong> Index integrity check when rebuilding<\\/li>\\n<li><strong>[Improvement]<\\/strong> Source hook management in multisite<\\/li>\\n<li><strong>[Improvement]<\\/strong> Upgrade routine process<\\/li>\\n<\\/ul>\\n<p>4.0.12<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Inability to filter searchwp\\\\settings\\\\capability<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with Highlighting in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Document Content not properly considered for global excerpt in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning when reacting to invalid Entry during indexing<\\/li>\\n<li><strong>[Fix]<\\/strong> Namespace issue with PDF parsing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Unnecessary provider reset when switching to the same site in multisite<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>4.0.11<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Loss of tokens when applying partial match logic in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Revised MySQL minimum to 5.6 (MariaDB 10.0) because of utf8mb4_unicode_520_ci collation requirement<\\/li>\\n<\\/ul>\\n<p>4.0.9<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.0.6 that prevented non WP_Post results from returning<\\/li>\\n<\\/ul>\\n<p>4.0.8<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue where taxonomy Rules for Media were not applied correctly in some cases<\\/li>\\n<\\/ul>\\n<p>4.0.7<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Mod WHERE clauses not restricted to Source when defined<\\/li>\\n<\\/ul>\\n<p>4.0.6<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Post is now returned when parent weight transfer is enabled but Post has no post_parent<\\/li>\\n<li><strong>[Improvement]<\\/strong> Excerpt handling for native results<\\/li>\\n<li><strong>[Improvement]<\\/strong> Additional prevention of invalid WP_Post results being returned in one case<\\/li>\\n<\\/ul>\\n<p>4.0.5<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Filter to control stemmer locale searchwp\\\\stemmer\\\\locale<\\/li>\\n<li><strong>[Improvement]<\\/strong> Token stems\\/partial matches are considered during AND logic pass<\\/li>\\n<li><strong>[Fix]<\\/strong> String not sent to searchwp\\\\stemmer\\\\custom<\\/li>\\n<li><strong>[Change]<\\/strong> searchwp\\\\query\\\\partial_matches\\\\buoy is now opt-in<\\/li>\\n<\\/ul>\\n<p>4.0.4<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue where AND logic would not apply in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue where additional unnecessary query clauses are added in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with delta updates not processing when HTTP Basic Auth is active<\\/li>\\n<li><strong>[Fix]<\\/strong> Minimum PHP version requirement check (which is 7.2)<\\/li>\\n<\\/ul>\\n<p>4.0.3<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Issue where tokens table was not reset during index rebuild<\\/li>\\n<\\/ul>\\n<p>4.0.2<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Support for BETWEEN, NOT BETWEEN, LIKE, and NOT LIKE compare operators for Mod WHERE clauses<\\/li>\\n<li><strong>[Fix]<\\/strong> Handling of Mod WHERE clauses in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Handling of REST parameters when returning search results<\\/li>\\n<\\/ul>\\n<p>4.0.1<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Check for remnants of SearchWP 3 that were not removed as per the Migration Guide<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\source\\\\post\\\\attributes\\\\comments action when retrieving Post comments<\\/li>\\n<li><strong>[Fix]<\\/strong> Handling of empty search strings in some cases<\\/li>\\n<\\/ul>\\n<p>4.0.0<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Complete rewrite of SearchWP<\\/li>\\n<\\/ul>\\n\"},\"banners\":{\"high\":\"\",\"low\":\"\"},\"icons\":{\"1x\":\"https:\\/\\/searchwp.com\\/wp-content\\/uploads\\/2021\\/02\\/avatar-searchwp-alt-128x128.png\",\"2x\":\"https:\\/\\/searchwp.com\\/wp-content\\/uploads\\/2021\\/02\\/avatar-searchwp-alt-256x256.png\"},\"requires_php\":\"5.6.0\",\"description\":[\"\"],\"changelog\":[\"<p>4.3.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> &quot;Did you mean?&quot; feature prevents stemming from working<\\/li>\\n<li><strong>[Fix]<\\/strong> Strict AND logic set via the filter allows OR results<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches use a wildcard when it is not needed<\\/li>\\n<li><strong>[Fix]<\\/strong> ACF suggestions are missing from the Custom Fields dropdown in the Source Attributes modal<\\/li>\\n<li><strong>[Fix]<\\/strong> Settings in the Misc tab are not saving in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics page shows UI which cannot be used by users with Statistics capability<\\/li>\\n<li><strong>[Fix]<\\/strong> Notifications icon is shown to users who cannot use it because of capability restrictions<\\/li>\\n<li><strong>[Fix]<\\/strong> Minor styling issues in the plugin settings<\\/li>\\n<\\/ul>\\n<p>4.3.0<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Admin settings UI redesign<\\/li>\\n<\\/ul>\\n<p>4.2.9<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Debugging Console to view debugging data in a browser panel style<\\/li>\\n<li><strong>[Improvement]<\\/strong> Prevent page slowdown when a taxonomy term is updated<\\/li>\\n<li><strong>[Improvement]<\\/strong> Set default value for Post Excerpt weight to a minimum<\\/li>\\n<li><strong>[Improvement]<\\/strong> Updated Stemmer library for better keyword stemming and PHP 8 compatibility<\\/li>\\n<li><strong>[Improvement]<\\/strong> Updated PdfParser library for better PDF parsing<\\/li>\\n<li><strong>[Fix]<\\/strong> \\\"Vue is in development mode\\\" console notice on the Settings screen<\\/li>\\n<li><strong>[Fix]<\\/strong> Deprecation notices on PHP 8.2<\\/li>\\n<li><strong>[Fix]<\\/strong> Plugin text domain is not loading properly<\\/li>\\n<\\/ul>\\n<p>4.2.8<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> In-plugin notification system to get the latest updates from SearchWP<\\/li>\\n<\\/ul>\\n<p>4.2.7<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Highlighter gives precedence to exact phrase search if present<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduced memory usage when generating the excerpt<\\/li>\\n<li><strong>[Fix]<\\/strong> Stemming prevents partial matches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlighting not working with quoted searches in some cases<\\/li>\\n<\\/ul>\\n<p>4.2.6<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Improved AJAX actions security<\\/li>\\n<li><strong>[Improvement]<\\/strong> Updated the PdfParser library for better PDF parsing and improved compatibility<\\/li>\\n<li><strong>[Fix]<\\/strong> Engines errors are not accessible by external code because of the private visibility<\\/li>\\n<li><strong>[Fix]<\\/strong> License gets deactivated periodically for some rare server configurations<\\/li>\\n<\\/ul>\\n<p>4.2.5<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Exclude taxonomy name from indexed taxonomy term fields<\\/li>\\n<li><strong>[Improvement]<\\/strong> Do not index the image src attribute in the post content by default<\\/li>\\n<li><strong>[Fix]<\\/strong> No post type exists check during SWP_Query query<\\/li>\\n<li><strong>[Fix]<\\/strong> Existing SWP_Query post type can be overridden with $_REQUEST<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms and stemming affecting AND logic query<\\/li>\\n<\\/ul>\\n<p>4.2.4<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Better handling of quoted phrases in synonyms<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms not working with non-ASCII strings<\\/li>\\n<li><strong>[Fix]<\\/strong> Max nesting function when synonyms are applied<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms are not case-insensitive<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms affecting the stemming functionality<\\/li>\\n<li><strong>[Fix]<\\/strong> Metrics related click tracking error in multisite environment<\\/li>\\n<li><strong>[Fix]<\\/strong> Merging words during HTML content tokenization if <br \\/> is used in the content<\\/li>\\n<li><strong>[Fix]<\\/strong> Hiding SearchWP admin menu via the hook leaves a link to it in the admin bar menu<\\/li>\\n<li><strong>[Fix]<\\/strong> MySQL error if engine sources have no attributes<\\/li>\\n<li><strong>[Fix]<\\/strong> Error if &#39;s&#39; parameter in the request is not a string<\\/li>\\n<li><strong>[Fix]<\\/strong> Warning if a custom field is added to the Users in the engine settings<\\/li>\\n<li><strong>[Fix]<\\/strong> Return type compatibility notice in PHP 8.1 for jsonSerialize() method<\\/li>\\n<\\/ul>\\n<p>4.2.3<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when getting \'post__in\' and \'post__not_in\' ids<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms work incorrectly when AND search logic is applied<\\/li>\\n<li><strong>[Fix]<\\/strong> Posts are not dropped from the index when a taxonomy term is updated<\\/li>\\n<li><strong>[Fix]<\\/strong> Quoted searches give too broad results on custom fields<\\/li>\\n<li><strong>[Fix]<\\/strong> Quoted searches query has redundant subqueries<\\/li>\\n<li><strong>[Fix]<\\/strong> Cross-site search limited results if \\\"all\\\" is passed as site args<\\/li>\\n<\\/ul>\\n<p>4.2.2<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Extensions admin page to install, activate and deactivate SearchWP extensions in one click<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance improvement when getting engines configuration<\\/li>\\n<li><strong>[Fix]<\\/strong> Search terms highlighting doesn\'t work well with quoted searches<\\/li>\\n<li><strong>[Fix]<\\/strong> Posts are not dropped from the index when a taxonomy term is deleted from the site<\\/li>\\n<li><strong>[Fix]<\\/strong> Stemming prevents partial matches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Search terms highlighting give unexpected results with partial matches<\\/li>\\n<\\/ul>\\n<p>4.2.1<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Edited document content is not preserved<\\/li>\\n<li><strong>[Fix]<\\/strong> Broken URLs for the redirects to the legacy admin settings<\\/li>\\n<li><strong>[Fix]<\\/strong> Class prefixing error in smalot\\/pdfparser lib<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP7 static code analyzer error in symfony\\/polyfill-mbstring lib<\\/li>\\n<\\/ul>\\n<p>4.2.0<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Plugin settings moved to the top-level menu<\\/li>\\n<li><strong>[Fix]<\\/strong> Undefined function error during the \'index\' CLI command execution<\\/li>\\n<li><strong>[Fix]<\\/strong> Merging words in some cases during HTML content tokenization<\\/li>\\n<\\/ul>\\n<p>4.1.22<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Synonym application too broad in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Document content reindexing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Missing method reference in Comment source<\\/li>\\n<li><strong>[Fix]<\\/strong> Forced phrase search returns no results if the search string doesn\'t contain non-phrase tokens<\\/li>\\n<li><strong>[Improvement]<\\/strong> Search string normalization<\\/li>\\n<li><strong>[Improvement]<\\/strong> String highlight application when synonyms are applied<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of double quotes in synonym logic in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.21<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Apply AND logic when applicable during quoted search query<\\/li>\\n<li><strong>[Fix]<\\/strong> Default application of \'Did you mean?\' functionality in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.1.19 that prevented some results from displaying in some cases<\\/li>\\n<li><strong>[New]<\\/strong> Filter searchwp\\\\native\\\\args\\\\post_type to modify native search post type when necessary<\\/li>\\n<\\/ul>\\n<p>4.1.20<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Synonym processing now stops after first application unless searchwp\\\\synonyms\\\\aggressive filter returns false<\\/li>\\n<li><strong>[Fix]<\\/strong> Global excerpt and highlighting process now uses original search string, disregarding any filtration in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.19<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Consider Excerpt when performing quoted search<\\/li>\\n<li><strong>[Fix]<\\/strong> Multisite re\\/index using WP-CLI<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlight application with flanking punctuation in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Highlight application with stemming enabled in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP 8 compatibility<\\/li>\\n<li><strong>[New]<\\/strong> de_DE_formal translation<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>4.1.18<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Global excerpt generation due to newline<\\/li>\\n<li><strong>[Fix]<\\/strong> Relevance minimum clause implementation<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent search suggestion output outside main query<\\/li>\\n<li><strong>[Fix]<\\/strong> Incorrect fields argument definition in some cases (caused FacetWP facets to not render in some cases)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Highlight matching in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.17<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> Added relevance() method to Mods to allow additional manipulation of relevance calculation during searches<\\/li>\\n<li><strong>[Improvement]<\\/strong> Refactored WP All Import integration<\\/li>\\n<li><strong>[Fix]<\\/strong> Character encoding when finding global excerpts in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.16<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp\\\\index\\\\source\\\\add_hooks filter to allow prevention of core hook implementation<\\/li>\\n<li><strong>[New]<\\/strong> Integration with WP All Import to better react to import processes<\\/li>\\n<li><strong>[Improvement]<\\/strong> Global excerpt generation in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer state handling when programmatically pausing\\/unpausing<\\/li>\\n<li><strong>[Fix]<\\/strong> Searching Media in the WordPress Admin in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Handling (omitting) of entries that failed indexing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics migration from SearchWP 3 (if Statistics failed to migrate, please open a support ticket for direct assistance)<\\/li>\\n<\\/ul>\\n<p>4.1.15<\\/p>\\n<ul>\\n<li><strong>[Change]<\\/strong> Partial matching in synonyms has been changed, to apply partial matching add a * wildcard where partial matching should be applied<\\/li>\\n<li><strong>[Change]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Global excerpt generation in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.1.12 that prevented results in some cases when setting AND logic to be strict<\\/li>\\n<\\/ul>\\n<p>4.1.14<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[New]<\\/strong> Rule for Media to consider filename<\\/li>\\n<li><strong>[New]<\\/strong> Rule for Pages and hierarchical CPTs to consider ancestry<\\/li>\\n<li><strong>[New]<\\/strong> Rule for Pages and hierarchical CPTs to consider post_parent<\\/li>\\n<li><strong>[New]<\\/strong> Edit and View actions for omitted entries<\\/li>\\n<li><strong>[New]<\\/strong> Support for Beaver Builder Search Module<\\/li>\\n<li><strong>[Fix]<\\/strong> Parallel indexing process when rebuilding index using WP-CLI in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Customization of post stati in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Additional background process health check<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of synonym input strings in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Default regular expression patterns<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<\\/ul>\\n<p>4.1.13<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Admin search of hierarchical post types<\\/li>\\n<li><strong>[Fix]<\\/strong> Support ticket iframe height minimum in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match logic in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.12<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[New]<\\/strong> Upper threshold that prevents AND logic when too many terms make it a performance issue (default is 5 token groups)<\\/li>\\n<li><strong>[New]<\\/strong> Filter searchwp\\\\query\\\\logic\\\\and\\\\token_threshold to control AND logic token threshold (return false to disable threshold consideration)<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with searching Users in the WP Admin<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with setting query fields in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics CSS issue in Safari in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.11<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.1.9 that prevented saving parent weight transfer<\\/li>\\n<li><strong>[Improved]<\\/strong> PDF parsing in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.10<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Background process cookie validation in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.9<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduction in index bloat in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Comment parents being incorrectly returned in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when weight transfer was enabled but no recipient defined<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when using PHP8 in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.8<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Race condition prevention in background process<\\/li>\\n<li><strong>[Change]<\\/strong> Index controller no longer observes site switching, if switching sites you will need to first use the searchwp\\\\auto_update_providers hook<\\/li>\\n<li><strong>[Change]<\\/strong> Keyword stemming enabled by default during setup<\\/li>\\n<li><strong>[Fix]<\\/strong> Results when keyword stemming and partial matching is enabled and tokens are exact matches and stemmable<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics migration from SearchWP 3 in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Automatic integration with page builder plugin in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with ACF Repeatables not appearing in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue with not being able to add custom Custom Field keys to an Engine Source<\\/li>\\n<\\/ul>\\n<p>4.1.7<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Multisite performance issue that could lead to an Error in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics migration from SearchWP v3 (Regression introduced in 4.1.0)<\\/li>\\n<\\/ul>\\n<p>4.1.6<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Database table index optimization introduced in 4.1.5 in some configurations<\\/li>\\n<li><strong>[Fix]<\\/strong> Partial matches with stemming enabled during AND logic in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> AND logic handling in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.5<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Exact match buoy in partial match logic<\\/li>\\n<li><strong>[Fix]<\\/strong> Implementation of query when site is set to \'all\' to search all network sites<\\/li>\\n<li><strong>[Improvement]<\\/strong> Partial match logic<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of invalid tokens when finding partial matches<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance when applying delta index updates<\\/li>\\n<li><strong>[Improvement]<\\/strong> Performance when dropping Entries<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of duplicate tokens in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Native integration in non-standard environments (e.g. page builders)<\\/li>\\n<\\/ul>\\n<p>4.1.4<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Error during partial match application on synonyms in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Admin search handling in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.3<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonym partial matches in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Statistics display with Statistics capability but not Settings capability<\\/li>\\n<li><strong>[Fix]<\\/strong> HTTP Basic Auth credentials regression introduced in 4.1.0<\\/li>\\n<li><strong>[Fix]<\\/strong> AND logic performance regression introduced in 4.1.0 in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> AND logic performance in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Background process health check coverage<\\/li>\\n<li><strong>[Improvement]<\\/strong> PHP 8 compatibility<\\/li>\\n<\\/ul>\\n<p>4.1.2<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer handling of concurrent invocations, health check\\/restart when process encounters Errors<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer in multisite environment<\\/li>\\n<li><strong>[Fix]<\\/strong> AND logic restrictions in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.1<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> As of version 4.1 Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[Fix]<\\/strong> Error when highlighting in some cases<\\/li>\\n<\\/ul>\\n<p>4.1.0<\\/p>\\n<ul>\\n<li><strong>[IMPORTANT]<\\/strong> Comments are now a separate Source (if you are using Comments for any Post Type Source you <em>will need to edit your Engine and rebuild your index<\\/em>, this is not done automatically and should be planned for when updating)<\\/li>\\n<li><strong>[New]<\\/strong> Refactored indexer for stability, reliability, and performance optimization<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\index\\\\update_entry action when an Entry is updated in the Index<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\debug\\\\front_end_summary filter to control whether the HTML comment summary is output when debugging is enabled<\\/li>\\n<li><strong>[New]<\\/strong> wp searchwp reindex WP-CLI command<\\/li>\\n<li><strong>[New]<\\/strong> wp searchwp diagnostics WP-CLI command<\\/li>\\n<li><strong>[New]<\\/strong> Primary keys added to database tables <em>for new installs<\\/em> where previously there were none<\\/li>\\n<li><strong>[New]<\\/strong> Adds $query property to \\\\SWP_Query to reference underlying query object<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\source\\\\comment\\\\parent_attribution\\\\strict hook to control whether SearchWP is strict about parent attribution which can introduce overhead in some cases<\\/li>\\n<li><strong>[New]<\\/strong> SearchWP will now generate more expected variations of regex pattern matches<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\tokens\\\\generate_parttern_match_variations filter to control whether additional pattern match variations are generated during indexing<\\/li>\\n<li><strong>[New]<\\/strong> Ability to enter custom ignored queries for Statistics (with wildcard * support)<\\/li>\\n<li><strong>[New]<\\/strong> Ability to automatically trim Statistics logs<\\/li>\\n<li><strong>[New]<\\/strong> Notice when WordPress available memory can be improved<\\/li>\\n<li><strong>[New]<\\/strong> Export\\/import now optionally includes Settings, Stopwords, and Synonyms<\\/li>\\n<li><strong>[New]<\\/strong> All ACF fields are displayed in the Custom Fields dropdown when applicable, not only ACF \\\"Repeatables\\\"<\\/li>\\n<li><strong>[New]<\\/strong> Synonyms actions: Sort ASC, Sort DESC, Clear<\\/li>\\n<li><strong>[Change]<\\/strong> Refines default data indexed for Taxonomy Terms to be: taxonomy name, term name, term slug, and term description<\\/li>\\n<li><strong>[Change]<\\/strong> Abstracts Statistics Dashboard Widget from jquery-ui-tabs<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer auto-scaling when server load is high<\\/li>\\n<li><strong>[Improvement]<\\/strong> Handling of HTML-formed content during indexing<\\/li>\\n<li><strong>[Improvement]<\\/strong> Integration of partial matches and keyword stemming<\\/li>\\n<li><strong>[Improvement]<\\/strong> Indexer delta trigger specificity in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Document processing handling, footprint<\\/li>\\n<li><strong>[Improvement]<\\/strong> Highlighting when a suggested search has been returned<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent duplicate results during weight transfer in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> AND logic restriction, performance in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Persistent dismissal of missing integration notice<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonyms management in some cases<\\/li>\\n<li><strong>[Update]<\\/strong> Dependencies<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<li><strong>[Update]<\\/strong> Interface updates and refinements<\\/li>\\n<\\/ul>\\n<p>4.0.34<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Fixes regression introduced by Shortcodes fix in 4.0.33 (proper fix in Shortcodes 1.8.2)<\\/li>\\n<li><strong>[Update]<\\/strong> Updated updater<\\/li>\\n<\\/ul>\\n<p>4.0.33<\\/p>\\n<ul>\\n<li><strong>[New]<\\/strong> searchwp\\\\swp_query\\\\mods filter to add Mods to SWP_Query<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP Warning introduced in 4.0.32<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevention of duplicate indexing processes in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Display issue on Statistics screen<\\/li>\\n<li><strong>[Fix]<\\/strong> PHP Warning when Admin color schemes have been removed<\\/li>\\n<li><strong>[Fix]<\\/strong> PDF parsing taking place unnecssarily in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Disable searchwp_search_results Shortcode when generating excerpts so as to prevent unwanted loop<\\/li>\\n<\\/ul>\\n<p>4.0.32<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Duplicate indexer processes in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Inaccurate batch size handling in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Prevent redundant search suggestion output in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Post stati validation when parent attribution is enabled<\\/li>\\n<li><strong>[Improvement]<\\/strong> Attachment status handling over time<\\/li>\\n<li><strong>[New]<\\/strong> RAND(seed) support by suffixing random Mod order_by with a colon and seed e.g. random:10 will be RAND(10)<\\/li>\\n<\\/ul>\\n<p>4.0.31<\\/p>\\n<ul>\\n<li><strong>[Improvement]<\\/strong> Adds NOT IN option to Media File Type Rule<\\/li>\\n<li><strong>[Improvement]<\\/strong> Debug HTML comment block output during Admin requests<\\/li>\\n<li><strong>[Fix]<\\/strong> Custom Attribute Options not returning proper Label after saving<\\/li>\\n<li><strong>[Fix]<\\/strong> Relocate searchwp\\\\query\\\\search_string hook to fire earlier<\\/li>\\n<li><strong>[Fix]<\\/strong> Issue when performing cross-site Multisite search<\\/li>\\n<li><strong>[Fix]<\\/strong> searchwp\\\\query\\\\tokens\\\\limit default value<\\/li>\\n<li><strong>[New]<\\/strong> Action searchwp\\\\query\\\\core_mods_out_of_bounds fires when core Mods are considered out of bounds<\\/li>\\n<\\/ul>\\n<p>4.0.30<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> UI changes introduced by WordPress 5.5<\\/li>\\n<li><strong>[Fix]<\\/strong> Global excerpt generation from search suggestions<\\/li>\\n<li><strong>[Fix]<\\/strong> Synonym migration from SearchWP 3.x<\\/li>\\n<\\/ul>\\n<p>4.0.29<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Token handling in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Document content handling when using alternate indexer in some cases<\\/li>\\n<li><strong>[Improvement]<\\/strong> Tokenization of HTML in some cases<\\/li>\\n<li><strong>[New]<\\/strong> searchwp\\\\entry\\\\update_data\\\\before action fired before Entry data is retrieved<\\/li>\\n<li><strong>[Update]<\\/strong> Bundle dependencies<\\/li>\\n<\\/ul>\\n<p>4.0.28<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Prevent inapplicable comment edit events from triggering delta updates<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reduced index method checks<\\/li>\\n<li><strong>[Improvement]<\\/strong> Reactivity when observing meta updates<\\/li>\\n<\\/ul>\\n<p>4.0.27<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> File Content meta box display in some cases<\\/li>\\n<li><strong>[Fix]<\\/strong> Entries not being reintroduced after failing when using alternate indexer<\\/li>\\n<li><strong>[Fix]<\\/strong> Display of Source Attribute Options when statically defined<\\/li>\\n<li><strong>[Fix]<\\/strong> UI display edge cases<\\/li>\\n<li><strong>[Change]<\\/strong> Token handling chunked in more cases so as to avoid issues when hosts limit query character length<\\/li>\\n<\\/ul>\\n<p>4.0.26<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Handling of SWP_Query tax_query argument<\\/li>\\n<li><strong>[New]<\\/strong> Advanced setting checkbox to control whether stored document content is purged and re-indexed during index rebuilds<\\/li>\\n<li><strong>[Update]<\\/strong> Translation source<\\/li>\\n<\\/ul>\\n<p>4.0.25<\\/p>\\n<ul>\\n<li><strong>[Fix]<\\/strong> Regression introduced in 4.0.24 when utilizing PDF Metadata<\\/li>\\n<li><strong>[Improvement]<\\/strong> Note displayed in SearchWP Document Content meta box when document is queued but not yet processed<\\/li>\\n<li><strong>[Update]<\\/strong> Translatio