You've already forked wc-licensed-product-client
Security classes: - ResponseSignature: HMAC-SHA256 signing and verification - StringEncoder: XOR-based string obfuscation for source code - IntegrityChecker: Source file hash verification - SignatureException, IntegrityException for error handling SecureLicenseClient: - Verifies server response signatures - Prevents response tampering and replay attacks - Per-license derived signing keys - Optional code integrity checking Documentation: - docs/server-implementation.md with complete WordPress/WooCommerce integration guide for signing responses Tests: - 34 new security tests (66 total, all passing) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.5 KiB
1.5 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-22
Added
- Object-oriented client library (
LicenseClient,LicenseClientInterface) - DTO classes for API responses (
LicenseInfo,LicenseStatus,ActivationResult) LicenseStateenum for license status values- Comprehensive exception hierarchy for error handling
- PSR-3 logging support (optional)
- PSR-6 caching support (optional)
- PSR dependencies (
psr/log,psr/cache,psr/http-client) - PHPUnit test suite with 32 tests covering DTOs, exceptions, and client
SecureLicenseClientwith response signature verification (HMAC-SHA256)ResponseSignatureclass for signing and verifying API responsesStringEncoderfor basic string obfuscation in source codeIntegrityCheckerfor verifying source file integritySignatureExceptionandIntegrityExceptionfor security errors- Server implementation documentation (
docs/server-implementation.md) - Security test suite (34 additional tests)
Changed
- Updated README with usage examples
[0.0.1] - 2026-01-22
Added
- Initial composer project setup
- Package configuration with PSR-4 autoloading
- Symfony HttpClient dependency (^7.0)
- Project documentation (README.md, CHANGELOG.md)
- OpenAPI specification reference in tmp/openapi.json