=== Blacklist Manager (Core / Freemium) ===

== Changelog ==

= 2.2.5 (May 4, 2026) =
* Fix: Resolved a 404 error when syncing Global Blacklist tiers.
* Improve: Added a “Pending” status while orders are being checked against the Global Blacklist.
* Improve: Added a “Recheck” action for orders that do not yet have a check result.

= 2.2.4 (Apr 27, 2026) =
* New: Added an option to extend blacklist protection to WooCommerce REST API orders created by external apps or integrations.
* Update: Added and run the backfill normalized email address to the existing database.
* Fix: Resolved issues where some blocked orders could still be created before being removed.
* Improve: Better protection during checkout — blocked customers are now stopped earlier, before an order is created.
* Improve: Enhanced compatibility with WooCommerce Blocks checkout to ensure consistent protection across all checkout types.
* Improve: More reliable blocking behavior across checkout, registration, and API requests.
* Improve: Faster and more efficient validation to reduce unnecessary processing during checkout.
* Improve: Better handling of different request types to ensure protection works across more scenarios.
* Improve: Overall stability and performance improvements for blacklist and verification features.

= 2.2.3 (Apr 15, 2026) =
* New: Added email & phone verification for WooCommerce Blocks checkout with inline notice UI and auto retry.
* Update: Updated verification flow for full Classic + Blocks support; improved phone normalization with country fallback.
* Update: Global Blacklist checks now fully cover email, phone number, IP address, and physical address across all tiers.
* Update: Merge multiple JS files into one optimized script with consistent AJAX and modal behavior.
* Improve: The method for retrieving customer IP addresses has been strengthened for improved accuracy.
* Improve: The Global Blacklist metabox no longer appears on the order page when Global Blacklist checks are disabled.
* Improve: Global Blacklist checks are bypassed when Development Mode is enabled.
* Improve: Improved UX, resend logic, and verification state handling; better support for custom dial code and Blocks data.
* Improve: Optimized blacklist actions on the edit order page to reduce memory usage.
* Improve: Added request-level caching for premium status, permissions, and order state.
* Improve: Reused one computed blacklist state for buttons and notices.
* Improve: Improve UX, stability, and maintainability by reducing duplicated code and better error handling.

= 2.2.2 (Mar 28, 2026) =
* New: Added Blacklist action buttons (remove / manage entries) directly in the order screen for faster workflow.
* New: Introduced Development Mode (default for new installs) to prevent aggressive blocking during initial setup.
* New: Added in-context notice in Blacklist actions to guide users to switch from Development Mode to Production Mode.
* New: Automatically enable Development Mode for new installations only (within first 7 days), without affecting existing users.
* Fix: The option of Global Blacklist decision details in admin new order email notification did not work.
* Improve: Added a safeguard to prevent sending new order email notifications for unpaid orders.

= 2.2.1 (Mar 26, 2026) =
* New: Added option (Blacklist Manager → Notifications) to enable or disable Global Blacklist decision details in admin new order notifications.
* Improve: Global Blacklist check by enriching request context (email, phone, IP, and domain) for more accurate matching.

= 2.2 (Mar 23, 2026) =
* New: Added `yogb_after_gbl_check` hook for async Global Blacklist completion.
* New: Support delaying admin new order email until risk checks finish.
* New: Stored enhanced signal data (effective score, linked boost, neighbors, matches).
* Fix: Updated to use the phone number normalize helpers before reporting to Global Blacklist.
* Fix: Fixed missing completion trigger in some async cases.
* Improve: Improved async reliability with consistent completion signaling.
* Improve: Enhanced handling of linked identity signals and match metadata.

= 2.1.9 (Mar 17, 2026) =
* Update: Upgraded and added helpers to normalize phone numbers for stricter blocking logic.
* Update: Added a helper to normalize email addresses before performing the block lookup.
* Update: When a user is blocked, their email address is added to the blacklist if it is not already present.
* Improve: Removed the duplicate blocking notice at the classic checkout page.
* Improve: Removed and cleaned unused code.

= 2.1.8 (Feb 28, 2026) =
* Improve: Improved security and stability by enhancing input validation, database handling, and internal redirects to ensure safer and more reliable performance.
* Improve: WooCommerce 10.5 compatibility.
* Improve: Some other minor improvements.

= 2.1.7 (Jan 10, 2026) =
* Update: Excluded blocking report from 'pending, failed, cancelled, on-hold' order statuses to Global Blacklist.
* Improve: Changed some incorrect translation strings.

= 2.1.6 (Dec 12, 2025) =
* Update: Global Blacklist checks now run asynchronously via Action Scheduler to keep checkout fast and responsive.
* Update: Changed estimated risk score of Global Blacklist from the percentage to the numeric.
* Improve: Appears both suspect and block buttons for quicker action at the blacklist actions.
* Improve: Added the description for each block reason at the blacklist actions.
* Improve: Return order checking if the site is not connected to the Global Blacklist.

= 2.1.5 (Dec 6, 2025) =
* New: Flagged identities are now clickable and open a detailed popup showing full risk summaries and report history.
* Update: Classic shortcode checkout now fully hard-blocks bots via exceptions.
* Fix: Called `send_email_order_block` even when the identities are not blocked.
* Improve: Improved admin UX with clearer risk indicators and structured detail display.

= 2.1.4 (Dec 1, 2025) =
* New: Introduced Global Blacklist integration with full settings panel, including Site Global ID, API key, and Secret key.
* New: Added tier detection (Free, Basic, Pro, Enterprise) with badge display and monthly usage counter.
* New: Added “Enable Global Blacklist” activation banner with instant activation action.
* New: Added Order Risk Score metabox showing order tier, decision (allow, challenge, block), and raw Global Blacklist results.
* New: Added detailed identity cards (email, phone, IP, address) with risk level, report count, score, and last reported timestamp.
* Improve: Some minor improvements.

= 2.1.3 (Nov 12, 2025) =
* Update: The dashboard now performs smoothly on mobile devices.
* Update: Replaced the activity log table with `WP_List_Table` for better performance, especially on mobile.
* Update: Added new styles to make the activity log table look nicer.

= 2.1.2 (Oct 28, 2025) =
* Update: Do not appear the blacklist actions for subscription orders.
* Fix: Did not add the order note during add the customer to the suspect list.
* Improve: WooCommerce 10.3 compatibility.

= 2.1.1 (Sep 28, 2025) =
* Improve: Cleaned up old and unnecessary code.
* Improve: WooCommerce 10.2 compatibility.

= 2.1 (Sep 13, 2025) =
* New: Added blocking reasons and description on the order page.
* New: Supported the WooCommerce block-based checkout page.
* Update: Checking shipping phone (if available) against the blacklist.
* Update: Optimized the logic of the blacklist manual add new form in the dashboard.
* Fix: The verifications feature was not running because returns too early.
* Improve: Some minor improvements.

= 2.0.8 (Sep 8, 2025) =
* Fix: White page when the WooCommerce is inactivated.
* Improve: Optimized the blacklist actions functions.
* Improve: The plugin's CSS only runs on the necessary pages.

= 2.0.7 (Aug 8, 2025) =
* New: Our new Blacklist Manager Premium for Forms add-on plugin compatibility.
* Fix: Cannot save the verification settings.
* Fix: Error when saving settings with only WordPress core.

= 2.0.6 (July 23, 2025) =
* Update: Optimized the plugin to work seamlessly with WooCommerce, Contact Form 7, Gravity Forms, and WPForms.
* Fix: Call to undefined function with the Gravity Forms and WPForms.
* Improve: Minor section of CSS needs clarification.

= 2.0.5 (July 15, 2025) =
* New: Prevent blocked user to submit comment and product review.
* Fix: False blocked notice in the add new order page.
* Improve: Optimized and combined suspect and block notices in the order page.
* Improve: Optimized suspect/block action on the order page.
* Improve: Correct the phone number format before checking blacklist.

= 2.0.4 (Jun 23, 2025) =
* Update: Added suspect and block button text on the order page.
* Update: Modified and improved verification scripts.
* Update: Speed up checkout process.
* Update: Added Advanced Account Premium plugin integration.
* Fix: Corrected the billing phone number format in the order data.
* Improve: Blocked phone number logic.

= 2.0.3 (Jun 3, 2025) =
* New: Advanced Accounts integration - Prevent registration for the blocked phone number.
* Update: Advanced Accounts integration - Also verified user when `create account` during verified checkout.
* Fix: User blocking option in the settings did not work.
* Improve: User blocking actions in the edit user page.

= 2.0.2 (May 8, 2025) =
* Fix: The block email notification option did not work correctly.
* Improve: Minor improvement.

= 2.0.1 (Apr 23, 2025) =
* Fix: Avoid to trigger sending email of registration blocking notifications.
* Fix: Incorrect email notifications footer.

= 2.0 (Apr 17, 2025) =
* New: WooCommerce Blacklist Manager is now Blacklist Manager.
* New: Blacklist supported the forms (Contact Form 7, Gravity Forms, WPForms).
* New: Prevent submission from the blocked visitors and users.
* New: Stats overview is now available to see a summary of blacklist entries and detection attempts.
* New: Added the sender name, address, and recipients for email notifications.
* Update: Some new things on the panel and pages.
* Update: Function to send alert email to administrators.
* Update: Function to display the registration prevention notice.
* Fix: Duplicated settings submenu.
* Fix: Duplicated registration prevention notice.
* Fix: Cannot add the IP address to the blacklist from the order.
* Fix: Avoid blocking the administrator.
* Fix: Time zone of inserting suspected order.
* Improve: Added translation strings to all email notifications.
* Improve: Optimized and cleaned up.

= 1.4.10 (Mar 24, 2025) =
* Update: Adding the phone number with dial code into the verification list.
* Fix: Cannot verify the phone number with the country dial code.
* Fix: Translation loading was triggered too early.
* Improve: Remove update the sms key option after upgrader complete.

= 1.4.9 (Mar 7, 2025) =
* Update: Optimize blocking function performance.
* Update: Added strict logic to prevent the phone number.
* Fix: Error phone format of the auto-cancel the blocked order.
* Fix: Added missing action of removing suspected phone after verifying during checkout.
* Fix: Remove the suspected instead of blocked email after verifying during checkout.
* Fix: Cannot generate a new SMS key for the new site register.
* Improve: Optimize verification form displaying.
* Improve: Limit resend code even when refreshing checkout page.
* Improve: Optimized and cleaned up.

= 1.4.8 (Feb 10, 2025) =
* New: Upgrade the user verification with our integrated WooCommerce Advanced Accounts.
* New: Auto-place the order after verification successfully.
* New: Alert the customer to review their phone number if SMS verification failed.
* Improve: Customize JavaScript files to run only on the exact pages.

= 1.4.7 (Jan 13, 2025) =
* New: Email notifications to admin if sending the phone verification code has failed.
* Fix: The verification form does not display with some themes and third-party checkout plugins.
* Improve: Make sure the verification form displays when triggering the verification code.

= 1.4.6 (Jan 1, 2025) =
* Fix: Blocked name displays in add new order page.
* Improve: Not prevent a blocked domain if an empty email field is allowed on the checkout page.

= 1.4.5 (Dec 13, 2024) =
* Fix: Prevent registration for suspected IP addresses.
* Improve: The notices will only display for administrators.

= 1.4.4 (Dec 1, 2024) =
* Fix: Blocking email checkbox option does not display correctly.
* Improve: Optimized the email and phone verification functions.
* Improve: Some improvements.

= 1.4.3 (Nov 12, 2024) =
* New: Optional for receiving emails during blocked user attempts to place orders or register an account.
* Fix: New logged-in users do not receive the phone verification code.

= 1.4.2 (Nov 4, 2024) =
* Fix: Verification form does not display in some themes.
* Fix: Duplicated success notice after verification.
* Fix: Block button displaying when the phone or email field is empty at order page.
* Fix: Missing phone number country code when resend verification code.
* Fix: Minor typo errors.
* Improve: Customize, reorder, and add class for verification form.
* Improve: Added verification email content translation.
* Improve: Security updated.

= 1.4.1 (Oct 25, 2024) =
* Improve: Optimize the script.
* Improve: Language file updated.

= 1.4.0 (Oct 16, 2024) =
* New: Verifications feature is now available.
* New: Require the new customer to verify email address when checkout.
* New: Require the new customer to verify phone number when checkout.
* Improve: Minor improvement.

= 1.3.14 (Sep 19, 2024) =
* Fix: Removed the missing file.
* Improve: Minor improvement.

= 1.3.13 (Sep 16, 2024) =
* New: Supported the website uses Cloudflare to block user IPs.
* Improve: Some minor improvement.

= 1.3.12.1 (Sep 4, 2024) =
* Fix: Error at the Settings page.

= 1.3.12 (Sep 4, 2024) =
* Fix: The rule to display the Suspect & Blocklist buttons in Order page.
* Improve: Minor changes for better performance.

= 1.3.11 (Jul 31, 2024) =
* Fix: The Add to Blocklist button logic has been updated.
* Fix: Avoid to block administrator users.
* Improve: Auto cancel action logic has been updated.

= 1.3.10 (Jul 23, 2024) =
* Fix: Blank entries are removed at blocklist.
* Fix: Missing messages at dashboard.
* Improve: Display only one notice a time at dashboard.
* Improve: Updated CSS at dashboard.
* Improve: Minor improvement.

= 1.3.9 (Jul 18, 2024) =
* Fix: Removed duplicate messages are on the dashboard.
* Improve: The search function has improved.

= 1.3.8 (Jul 9, 2024) =
* New: Email sent to admin when blocked customer attempts detection.
* Improve: Updated text content at Settings.
* Improve: Core improvement.

= 1.3.7 (Jul 3, 2024) =
* Fix: Bug at Settings page.
* Improve: Added Settings notice for the new installs.

= 1.3.6 (Jun 28, 2024) =
* Improve: Changed the display of blocked user row at Users page.
* Improve: Core improvement.

= 1.3.5 =
* Improve: Language file updated.
* Improve: Core improvement.

= 1.3.4 =
* New: Added selection of status at Addition manual form.
* Improve: Minor bug fixed.

= 1.3.3 =
* Improve: Language file updated.
* Improve: Minor improvement.

= 1.3.2 =
* New: Added blocked user notice customizable in Notifications.
* Improve: Changed the blocked user notice from browser pop-up to error notice.
* Improve: Minor bugs fixed.

= 1.3.1 =
* New: Notices when the customer is in suspect list or blocklist at edit order page.
* Fix: Fixed domain addition form did not open when IP address option disabled.
* Improve: Updated the logics of Add to suspect list and blocklist at edit order page.
* Improve: Added missing date & time when click on Add to suspect button at edit order page.
* Improve: Some minor bugs fixed and improved.

= 1.3.0 =
* New: Upgrade entire code to be OOP style.
* New: User blocking option now is available.
* New: Source added, allowing you to know the entry's source.
* New: IP status, allowing you to know Suspect or Blocked.
* New: Email notification template added.
* Improve: Dashboard tab will stay where you left off.
* Improve: Duplicated checkout notice fixed.
* Improve: Unexpected strings fixed.

Premium version is now available, check it out on our website!

= 1.2.1 =
* Improve: The activation notice was dismissed to be a bit more robust. To ensure the notice behavior persists even with caching plugins like WP Rocket etc...

= 1.2.0 =
* Improve: CSS conflict fixed.
* Improve: Solved the issue of settings notice displays when cache cleared.

= 1.1.9.2 =
* Improve: Minor javascript bugs are fixed.

= 1.1.9.1 =
* Improve: A bug fixed.

= 1.1.9 =
* Improve: Avoid a hardcore security for some themes.
* Improve: Codes improved.

= 1.1.8 =
* Change: Text buttons to be icon buttons in the lists.
* Change: Rename Blacklist to Suspects to avoid confusing .
* Improve: Reorganised the files.
* Improve: Codes improved.

= 1.1.7 =
* New: IP Addresses multi lines addition.
* Improve: Small fixes.

= 1.1.6 =
* Error: Important bugs fixed.

= 1.1.5 =
* New: Email domain blocking added.
* New: Bulk action, easily delete multi rows in every lists.
* Improve: Small fixes.

= 1.1.4 =
* Change: Email notification setting became Notifications settings.
* New: Checkout, Registration Notice now is customizable.
* New: Prevent registration option for the user ip address is on the blacklist.
* Improve: Reorganized the codes to make them smoother and cleaner.

= 1.1.3 =
* New: Added an option (Settings) to prevent placing an order.
* Improve: Clear some unused codes. Small fixes.

= 1.1.2 =
* New: IP Blacklist released.
* New: Add customer IP into IP Blacklist by click on Add to Blacklist button (Flag icon) in the Order page (Admin).
* Improve: Popup message to confirm if you are sure to do the actions in the Blacklist Management.

= 1.1.1 =
* New: Declined to create an account if the email address is on Blocked list.
* New: Added the popup message to confirm if you are sure to do the action in the Order page (Admin).
* Improve: Change the text button to be icon button in the Order page (Admin).
* Improve: Refresh the Order page after Add to Blacklist message's displaying automatically (in 3 seconds).

= 1.1.0 =
* Settings: Prevent Order selection added.
* Language updated.

= 1.0.1 =
* JavaScript file is specifically enqueued only on the plugin.
* Small bugs fixed.

= 1.0.0 =
* Initial release.