Repository navigation
Releases: recca0120/wp-reverse-proxy
Releases · recca0120/wp-reverse-proxy
Release list
v0.3.11
v0.3.10
Changes
Refactoring
- Replace Mockery with FakeRouteLoader stub for deterministic testing
- Standardize test method naming conventions (
test_it_*→test_*) - Shorten 16 method names exceeding 60 characters
- Rename 2 vague method names for clarity
Dependencies
- Remove
mockery/mockerydependency (replaced with stubs)
Tests
- Add
CachedFileLoaderTestintegration test - All 713 tests passing
v0.3.9
What's Changed
Refactored
- Use stable identifier for cache key instead of fingerprint (#30)
- Added
getIdentifier()method toRouteLoaderInterface - Cache key is now based on stable identifier (md5 of paths/storage class)
- Fingerprint is used only for cache validation, not as key
- Prevents orphaned cache entries when source data changes
- Added
Files Changed
includes/Contracts/RouteLoaderInterface.php- AddedgetIdentifier()methodincludes/Routing/FileLoader.php- Implemented stable identifier using md5 of sorted pathsincludes/WordPress/WordPressLoader.php- Implemented stable identifier using md5 of storage classincludes/Routing/CachedRouteLoader.php- Use identifier for cache key, fingerprint for validation
Full Changelog: v0.3.8...v0.3.9
v0.3.8 - Refactor Arr methods and array_reduce
Changes
- Remove
Arr::flatten(redundant withArr::merge) - Refactor
Arr::flatMapto usearray_reduce+self::merge - Refactor
ReverseProxymiddleware chain to usearray_reduce - Improve test coverage for Admin class and RouteCollection
- Remove unused
getStorage()method from RoutesPage
v0.3.7 - Simplify RouteCollection
Changes
- Add private
addRoute()method to unify route addition logic - Fix
offsetSet()bug - was not injecting cache into middlewares - Optimize
clearCache()by moving cache null check outside loop - Simplify
createRoute()by removing unnecessary local variables
v0.3.6 - Fix PHPUnit 8 compatibility
Fix assertMatchesRegularExpression() compatibility for PHP 7.2 (PHPUnit 8.5)
v0.3.5 - Remove jQuery dependency
Refactoring
Remove jQuery Dependency
- Replace jQuery with native JavaScript DOM operations
- Replace jQuery UI Sortable with SortableJS v1.15.6
- Move all dynamically generated HTML from JavaScript to HTML
<template>elements in PHP
Benefits
- Reduced bundle size (no jQuery/jQuery UI dependencies)
- Better separation of concerns (HTML in templates, logic in JavaScript)
- Improved maintainability with modern JavaScript patterns
- SortableJS provides the same drag-and-drop functionality with smaller footprint
Technical Changes
assets/js/admin.js: Rewritten with Vanilla JSassets/js/sortable.min.js: New file (SortableJS v1.15.6)templates/admin/route-form.php: Added 13 HTML templates for dynamic elementsincludes/WordPress/Admin/Admin.php: Updated script dependencies
v0.3.4 - Import/Export Routes
What's New
Import/Export Routes
- Export routes to JSON file (admin-managed routes only)
- Import routes from JSON file with merge/replace modes
- Traditional Chinese translations for import/export
Improvements
- Refactored AJAX verification methods to reduce duplicate code
v0.3.3
v0.3.2
Changes
Refactoring
- Add
Arr::firstWhere()to find item by key/value pair - Add
Arr::search()to find array key by field/value pair - Remove unused
Arr::find()andArr::findKey()methods - Simplify Storage
find(),update(), anddelete()methods - Use
Str::contains()instead ofstrpos()in RoutesPage - Use
Arr::has()instead ofarray_key_exists()in MiddlewareManager
Docs
- Update demo GIF to start with WordPress admin panel