🆕 New: Collapsible icon-only sidebar — desktop sidebar now has a toggle button at the top; click to shrink to icon-only mode (72 px) and click again to expand back to full width (240 px)
🆕 New: Appearance settings page — preset cards fully redesigned with SaaS-style browser chrome preview (sidebar, stat cards, and table) for accurate visual comparison
🆕 New: Dark mode preferred style — choose which dark mode style the frontend toggle switches to; saved as preferredDark in appearance settings
🆕 New: Employee Management admin page — redesigned with a SaaS-style notice banner and direct action buttons linking to the frontend dashboard Employee and Roles & Access pages
✨ Improvement: Dark mode toggle simplified to a single icon button (no dropdown); toggles between light and the configured preferred dark style
✨ Improvement: Full dark mode coverage — page background, header, footer, and sidebar all correctly respond to dark mode; fixed partial dark mode where some surfaces stayed light
✨ Improvement: Dark mode cards use a glass effect — subtle white-tint background, backdrop blur, and inset highlight border for card distinction on dark backgrounds
✨ Improvement: Sidebar background removed in dark mode — sidebar inherits the dark algorithm instead of overriding with white, giving a seamless dark layout
✨ Improvement: All color schemes use a consistent white sidebar background; tinted sidebar colors removed for a cleaner, uniform look
✨ Improvement: Sidebar width increased to 240 px (was 200 px); sidebar menu icons enlarged to 17 px for better readability
✨ Improvement: Footer background now correctly follows the active theme color via CSS custom property instead of a hardcoded value
✨ Improvement: Employee profile page redesigned with SaaS-style stat cards, activity summary, and a theme-aware left border that follows the active Color Combination
✨ Improvement: Roles & Access modal text and backgrounds are now dark-mode aware — all hardcoded hex colors replaced with AntD token values so the Create/Edit Role modal is fully readable in dark mode
✨ Improvement: Employee list filter row now has correct vertical spacing on mobile; action buttons stay on one line with nowrap enforcement
✨ Improvement: Inter font applied globally across the frontend dashboard — consistent SaaS typography regardless of the active WordPress theme
✨ Improvement: Frontend dashboard CSS fully scoped under #wpkin-shop-manager-public — prevents WP theme styles from leaking into the plugin UI
🐛 Fix: Appearance settings (preset, color scheme, preferred dark) were silently dropped on save — wpkin_sanitize_settings_data() now correctly preserves the appearance block
🐛 Fix: Activity Log Retention setting was not saving or repopulating — employee_management block added to wpkin_sanitize_settings_data() and deep-merged on save to preserve existing employee data
1.2.2
🆕 New: Employee Management module — role-based access control for frontend dashboard users
🆕 New: “Create Role” button locked behind Pro license — shows lock icon and opens Pro upgrade modal for free users
🆕 New: Password set page for new employees — welcome email now sends a secure setup link instead of plain-text credentials
🆕 New: Lost password / password reset flow inside the frontend dashboard — no redirect to wp-login.php
🆕 New: Employee profile route always accessible to the logged-in employee themselves, even without the employees module capability
✨ Improvement: Header avatar now shows a caret badge; admins see “WordPress Dashboard” in the dropdown, employees see “My Profile”
✨ Improvement: Avatar size standardised to 40×40 px with a circular caret indicator at the bottom-right corner
✨ Improvement: Header dropdown now shows the human-readable role name instead of the internal role slug
✨ Improvement: Password fields in login and set-password forms now have an eye-icon toggle to show/hide the password
✨ Improvement: Custom roles (Pro) are automatically deactivated when the Pro license expires — employees with custom roles lose dashboard access and see a clear “Access Restricted” explanation page
✨ Improvement: Employees with expired custom roles still appear in the All Employees list so admins can reassign them
✨ Improvement: Employee list shows a lock icon and greyed-out role tag for any employee whose custom role is inactive due to an expired Pro license
✨ Improvement: Roles & Access table shows a “Pro Required” warning tag for custom roles when Pro license is not active
🐛 Fix: WordPress canonical redirect was stripping sm_action, sm_key, and sm_login query parameters — fixed by registering them as recognised query vars
🐛 Fix: Employee profile page was inaccessible to employees without the oxi_sm_employees_access capability, even for their own profile
1.2.1
🆕 New: PDF invoice generation — server-side PDF via mPDF with 4 templates (Modern, Classic, Bold, Minimal) matching the live preview pixel-for-pixel
🆕 New: Invoice button on Order Details page — opens PDF in a new browser tab for viewing, printing, or downloading
🆕 New: Bulk invoice generation — select multiple orders and generate a single merged PDF with one order per page
🆕 New: Resend Email button on Order Details page — choose email type from dropdown with confirmation modal before sending
🆕 New: Bulk Resend Email — select orders, pick email type from a modal, and send with one click
🆕 New: “Send PDF with Email” toggle in Invoice Settings > General — controls whether the invoice PDF is attached to order confirmation emails
🆕 New: Inter font embedded in PDF — matches the dashboard preview font exactly
🆕 New: Dynamic multi-script font support — Bengali ৳ renders via Noto Sans Bengali; Arabic, CJK, and other scripts use mPDF’s built-in language-to-font mapping; all Latin currencies use Inter
✨ Improvement: PDF font colors now use the configured text color throughout, matching the live preview
✨ Improvement: Admin email (New Order) resend now works correctly using WooCommerce’s own resend pattern including the required filter
🐛 Fix: Bold font weight in PDF item totals and grand total — mPDF requires font-weight:bold, not 600 or 700
🐛 Fix: “Send PDF with Email” setting was not saving due to missing field in both sanitization passes
1.2.0
🆕 New: AI Settings page — configure provider (Claude, OpenAI, Gemini), model, temperature, and max tokens from the admin dashboard
🆕 New: AI product content generator — one-click generation of product title, short description, and full description inside the Add/Edit Product form
🆕 New: Per-field AI buttons — generate only the field you need without running a full generation
🆕 New: Custom Instructions field in AI modal — guide the AI with your own prompt for full creative control
🆕 New: Multi-provider AI support — Anthropic Claude, OpenAI GPT, and Google Gemini
🔒 New: API keys encrypted with AES-256-CBC using WordPress secret keys; never exposed to the browser
🆕 New: Test Connection button in AI Settings to verify API key before saving
🆕 New: Customers page — full customer list with search, country filter, tag filter, order count, total spent, and last order date
🆕 New: Customer Profile page — billing & shipping address, order stats, order history, notes, and tag management
🆕 New: AI customer auto-tagging — automatically tags customers as vip, loyal, new, at_risk, big_spender, frequent, or inactive based on order behaviour
🆕 New: Auto-tags are event-driven — recalculated on order status change or new order; time-based tags use a 24h transient cache
🆕 New: Manual tags — add/remove custom tags on the Customer Profile; manual tags are never overwritten by the system
🆕 New: Guest order matching — customer metrics and tags include guest orders placed with the same billing email
🆕 New: Bulk tag refresh — recalculate tags for all customers at once from the customer list
🆕 New: Customer Settings admin tab — configure all auto-tagging thresholds and excluded roles; changing thresholds invalidates all cached tags automatically
🆕 New: Color presets added to order status edit/add modal — 15 built-in color combinations with visual swatch selector
🆕 New: Attributes page — create, edit, and delete WooCommerce product attributes and terms from the frontend
🆕 New: Subcategory hierarchy — categories and brands display with WooCommerce-style dash indentation in lists and dropdowns
🆕 New: CSV product export — download selected or all products as a CSV file directly from the product list
🆕 New: “View Product” button on Edit Product page — opens the product’s frontend page in a new tab
✨ Improvement: Rebranded from WPKIN to Oxilab across all display text and frontend footer
✨ Improvement: Admin settings tab position now persists on page reload via URL hash
🐛 Fix: Attribute terms failing to load due to invalid orderby parameter
🐛 Fix: Sale price validation used string comparison, causing single-digit prices to incorrectly trigger a “greater than regular price” error
🐛 Fix: Brands, Attributes, and Reviews sidebar menu items now correctly stay active when those pages are visited
🐛 Fix: “View” action in product list now opens the product’s frontend page instead of the WP admin edit screen
🐛 Fix: Hook names prefixed with wpkin_sm_ to avoid collisions with other plugins
1.0.5
🆕 New: Add Product and Edit Product pages
🆕 New: All Products list page
🆕 New: Categories, Tags, Brands, and Reviews pages
1.0.4
🐛 Fix: Data saving issue resolved
1.0.3
🆕 New: Translation support — full WordPress i18n throughout the plugin
✨ Improvement: Overhauled order management workflow
1.0.0
🎉 Initial release — frontend order dashboard with create, edit, delete, and status management