Files
wc-licensed-product/CHANGELOG.md
magdev dec4bd609b Implement version 0.0.2 features
Add product version management:
- ProductVersion model and VersionManager class
- VersionAdminController with meta box on product edit page
- AJAX-based version CRUD (add, delete, toggle status)
- JavaScript for version management UI

Add email notifications:
- LicenseEmailController for order emails
- License keys included in order completed emails
- Support for both HTML and plain text emails

Add REST API rate limiting:
- 30 requests per minute per IP
- Cloudflare and proxy-aware IP detection
- HTTP 429 response with Retry-After header

Other changes:
- Bump version to 0.0.2
- Update CHANGELOG.md
- Add version status styles to admin.css

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 19:15:19 +01:00

3.0 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.0.2 - 2026-01-21

Added

  • Product version management UI in admin (meta box on product edit page)
  • AJAX-based version CRUD operations (add, delete, toggle active status)
  • ProductVersion model and VersionManager for version data handling
  • Email notifications with license keys on order completion
  • License information included in WooCommerce order completed emails
  • Rate limiting for REST API endpoints (30 requests/minute per IP)
  • Cloudflare and proxy-aware IP detection for rate limiting
  • JavaScript for version management interactions

Changed

  • Declared WooCommerce HPOS and cart/checkout blocks compatibility
  • Plugin name changed from "WC Licensed Product" to "WooCommerce Licensed Product"

Technical Details

  • New classes: ProductVersion, VersionManager, VersionAdminController, LicenseEmailController
  • Rate limiting uses WordPress transients for request counting
  • HTTP 429 response with Retry-After header when rate limited

0.0.1 - 2026-01-21

Added

  • Initial plugin structure with WordPress Plugin API integration
  • New WooCommerce product type "Licensed Product" for selling software licenses
  • License key generation with format XXXX-XXXX-XXXX-XXXX on order completion
  • Domain-based license validation (licenses bound to specific domains)
  • REST API endpoints for license management:
    • POST /wp-json/wc-licensed-product/v1/validate - Validate license for domain
    • POST /wp-json/wc-licensed-product/v1/status - Check license status
    • POST /wp-json/wc-licensed-product/v1/activate - Activate license on domain
    • POST /wp-json/wc-licensed-product/v1/deactivate - Deactivate license
  • Checkout domain field for licensed products
  • Customer account page "Licenses" to view purchased licenses
  • Admin interface for license management (WooCommerce > Licenses)
  • License settings per product:
    • Maximum activations per license
    • License validity period (days or lifetime)
    • Optional binding to major software version
    • Current version tracking
  • Custom database tables for licenses and product versions
  • Twig template engine integration for views
  • Full internationalization support (i18n)
  • German (Switzerland, formal) translation (de_CH)
  • WooCommerce HPOS compatibility
  • Responsive frontend license table

Technical

  • PHP 8.3+ required
  • WooCommerce 10.0+ required
  • PSR-4 autoloading via Composer
  • Twig 3.0 template engine
  • WordPress REST API integration
  • Custom WooCommerce product type extending WC_Product