Re-style the PRO upsell card on the settings page so it no longer uses WordPress core notice classes. Same scope (only the plugin’s own settings page) and same content, but the visual is now a self-styled card with a small “Pro upgrade” label, distinct from a system message. Also drops the inline color/weight from the “Get Pro” link on the Plugins screen.
PRO upsell card is now collapsible — click the × in the corner to shrink it down to just the “Pro upgrade” pill; click the pill to expand it back. State persists per browser via localStorage.
2.2.0
New: a “Get Pro” link in the Plugins list and a small notice at the top of the settings page when the PRO add-on isn’t installed. Both auto-hide when PRO is active.
New: clicking “Get PRO” opens the LemonSqueezy checkout in an overlay (lemon.js) instead of a new tab. After purchase, the same notice swaps into a short installer flow that fetches your license, downloads PRO from our update server, installs and activates it, and pre-fills the license key in PRO’s License tab — without leaving wp-admin. A paste-the-key fallback is shown if anything in the auto flow stalls.
The license itself is now activated against LemonSqueezy during the install, so any activation error (most often “this license has reached its activation limit”) shows up immediately on the install notice rather than three steps later when you’d otherwise have clicked Activate manually.
2.1.2
Developer: added two new actions for add-on plugins that need to render an extra column in the rules table. jcnwc_render_rule_header_before_emails fires inside a <th> cell before the emails column, and jcnwc_render_rule_field_before_emails fires inside the matching per-row <td> cell. The column is only rendered when at least one handler is attached, so the table layout stays clean for end users without add-ons.
2.1.1
Developer: added action jcnwc_render_after_heading on the settings page so add-on plugins can render a tab nav or upgrade banner between the heading and the rules form. No visible changes for end users.
2.1.0
Renamed plugin slug to jalma-category-notifications-for-woocommerce for wp.org compliance.
Security: hardened settings save (nonce, escape at output, sanitize-on-use annotations).
Compatibility: tested up to WordPress 6.9. License aligned to GPLv2 or later in plugin header.
Migration: existing rules are automatically copied from the previous option keys (jwccn_rules, jwcem_rules) on first activation.
2.0.2
Developer: added extension hooks for add-on plugins. Filters: jcnwc_rules, jcnwc_should_notify, jcnwc_rule_recipients, jcnwc_notification_subject, jcnwc_notification_message, jcnwc_notification_headers, jcnwc_sanitize_rule. Actions: jcnwc_render_rule_extras, jcnwc_after_notification_sent. No visible changes for end users.
2.0.1
Compatibility: declared HPOS (High-Performance Order Storage) compatibility. This plugin only listens on product-level stock hooks and never touches order data, so it’s safe in both the legacy and the new custom order tables.
2.0.0
New: each rule can now include multiple categories with multi-select.
New: each rule can now exclude one or more sub-categories.
Improvement: both the include and exclude category fields use WooCommerce’s enhanced select (select2) with hierarchical indentation.
Improvement: settings dropdown shows product categories in hierarchical order.
Fix: product variations now correctly resolve categories from their parent product.
Fix: hardened settings save (wp_unslash, is_array guards, escaped row index).