= 5.8.4 =
* Fixed: Submit requirement email notification not sending to vendor.
* Fixed: Order accepted, order rejected, service order ready, and requirements received email notifications not sending.
* Fixed: Conversation email notification not sending to participants.
* Fixed: Email templates crashing on WooCommerce email preview (added preview mode with safe fallbacks).
* Fixed: Null dereference in email classes when product or recipient data is unavailable.
* Fixed: Missing webhook settings sanitization callback causing webhooks to save without validation.
* Fixed: CSS injection risk in dynamic color styles — now uses strict hex color validation.
* Fixed: Webhook routing errors — delivery-accepted and review-submitted posting to wrong URLs.
* Fixed: PHP fatal when $recipient_id is unset in conversation email trigger.
* Fixed: Cron job mutating $_GET/$_POST superglobals — uses class property instead.
* Fixed: Duplicate requirement email sent on thank-you page refresh.
* Fixed: HPOS incompatibility in delivery date notification.
* Fixed: Conversation live polling not rendering first messages (id=0 case).
* Fixed: Notification action buttons (mark-read/delete) not working due to incorrect jQuery callback placement.
* Fixed: CSS/JS not loading on notifications endpoint page.
* Fixed: Review rating validation (1-5 range) and duplicate WooCommerce review prevention.
* Security: Added nonce verification to notification mark-read and delete AJAX handlers.
* Security: Full input sanitization on all 4 settings save callbacks (general, images, notifications, webhooks).
* Security: Output escaping corrections — esc_html for text, wp_kses_post for HTML, esc_url for hrefs.
* Performance: N+1 query optimization with cache priming in order item and conversation loops.
* Improved: Added missing fresh-install defaults for support agent frontend setting.
* Improved: Restored review notification settings field that was previously disabled.
* Improved: Added {product_name} placeholder support to conversation email subject/heading.

