From e6c8bb54719e23a537db83bc7a62814a0402309b Mon Sep 17 00:00:00 2001 From: magdev Date: Thu, 22 Jan 2026 18:33:28 +0100 Subject: [PATCH] Clean up roadmap after v0.3.0 and v0.3.1 completion - Removed completed v0.3.0 and v0.3.1 items from roadmap - Added session history for v0.3.0 (Self-Licensing) - Added session history for v0.3.1 (Settings UI Improvements) Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5553f2c..f4adfb0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,12 +36,6 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w No known bugs at the moment. -### Version 0.3.0 - -- Implement License check using the composer package `magdev/wc-licensed-product-client` located in the local folder `/home/magdev/workspaces/php/wc-licensed-product-client` -- Add license configuration to the plugins settings page -- Hide frontend parts if no valid license is provided - ## Technical Stack - **Language:** PHP 8.3.x @@ -790,3 +784,59 @@ Added SHA256 checksum display to both admin version list and customer download s - Created release package: `releases/wc-licensed-product-0.2.2.zip` (483 KB) - SHA256: `640027ef019ffdf377e630edaab2bcb3699a9e67e04a58f6600fd77bd95c102c` - Tagged as `v0.2.2` and pushed to `main` branch + +### 2026-01-22 - Version 0.3.0 - Self-Licensing + +**Overview:** + +Implemented self-licensing functionality. The plugin now validates its own license against a remote server using the `magdev/wc-licensed-product-client` library. Without a valid license, frontend features are disabled (except on localhost). + +**Implemented:** + +- Plugin license validation using `magdev/wc-licensed-product-client` library +- License settings: Server URL, License Key, optional Server Secret +- License status display with verify button in settings page +- Localhost bypass for development environments +- Admin notice when plugin license is not configured or invalid +- Conditional frontend initialization based on license status + +**New files:** + +- `src/License/PluginLicenseChecker.php` - Singleton class for license validation + +**Modified files:** + +- `composer.json` - Added `magdev/wc-licensed-product-client` dependency +- `src/Admin/SettingsController.php` - Added license settings fields and status display +- `src/Plugin.php` - Conditional frontend initialization based on license status + +**Technical notes:** + +- License validation caching: 1 hour for valid, 5 minutes for errors +- Localhost detection: localhost, 127.0.0.1, ::1, .localhost, .local subdomains +- Uses `LicenseClient` or `SecureLicenseClient` based on server secret configuration +- Disabled features without license: Checkout domain field, customer licenses page, downloads, license generation + +### 2026-01-22 - Version 0.3.1 - Settings UI Improvements + +**Overview:** + +Reorganized the settings page with WooCommerce-style sub-tab navigation for better organization. + +**Implemented:** + +- Sub-tab navigation similar to WooCommerce Advanced settings tab +- Settings split into three sections: Plugin License, Default Settings, Notifications +- WooCommerce-style `