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 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 18:33:28 +01:00
parent e9763192f6
commit 69f6072853

View File

@@ -36,12 +36,6 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
No known bugs at the moment. 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 ## Technical Stack
- **Language:** PHP 8.3.x - **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) - Created release package: `releases/wc-licensed-product-0.2.2.zip` (483 KB)
- SHA256: `640027ef019ffdf377e630edaab2bcb3699a9e67e04a58f6600fd77bd95c102c` - SHA256: `640027ef019ffdf377e630edaab2bcb3699a9e67e04a58f6600fd77bd95c102c`
- Tagged as `v0.2.2` and pushed to `main` branch - 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 `<ul class="subsubsub">` navigation
**Modified files:**
- `src/Admin/SettingsController.php` - Major refactoring with sub-sections
- `languages/*` - Updated translations for new strings
**Technical notes:**
- Added `getSections()` returning three sub-tabs
- Added `outputSections()` for WooCommerce-style navigation rendering
- Split `getSettingsFields()` into section-specific methods using PHP 8 match expression
- Hooks: `woocommerce_sections_licensed_product` for sub-navigation