This commit is contained in:
Javier Casares 2026-06-02 18:49:45 +00:00
commit 1dd5809016
606 changed files with 21760 additions and 3778 deletions

View file

@ -1,11 +1,11 @@
=== iDrivee2 Media Upload ===
Contributors: robotstxt, javiercasares
Tags: media, upload, s3, cdn, storage, idrivee2, cloud
Requires at least: 6.8
Tested up to: 6.9
Stable tag: 1.1.3
Requires PHP: 8.2
Version: 1.1.3
Requires at least: 4.1
Tested up to: 7.1
Stable tag: 1.1.4
Requires PHP: 8.1
Version: 1.1.4
License: GPL-3.0-or-later
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
@ -24,7 +24,7 @@ iDrivee2 Media Upload is a WordPress plugin that automatically uploads media fil
* **Rate Limiting**: Protection against abuse with configurable cooldown periods
* **Admin Interface**: Test S3 connection and upload test files from WordPress admin
* **Multisite Support**: Works seamlessly with WordPress Multisite installations
* **Type-Safe Code**: PHPStan level 8 compliance with strict type declarations
* **Type-Safe Code**: PHPStan level 9 compliance with strict type declarations
* **OWASP Compliant**: All OWASP Top 10 (2021) vulnerabilities addressed
**Security Features:**
@ -179,8 +179,8 @@ PHP 8.2 or higher is required. The plugin uses strict type declarations and is t
== Compatibility ==
* WordPress: 6.8 - 6.9
* PHP: 8.2 - 8.4
* WordPress: 6.8 - 7.1
* PHP: 8.2 - 8.5
* MariaDB: 10.6+
* MySQL: 5.7+
@ -188,11 +188,59 @@ PHP 8.2 or higher is required. The plugin uses strict type declarations and is t
* PHP Coding Standards: 0 errors
* WordPress Coding Standards (WPCS): 3.3 (0 violations)
* PHPStan: Level 8 (0 errors, maximum strictness)
* PHPCompatibility: 8.2-8.4 (fully compatible)
* PHPStan: Level 9 (0 errors, maximum strictness)
* PHP Coding Standards: 0 errors
* WordPress Coding Standards (WPCS): 3.3 (0 violations)
* PHPStan: Level 9 (0 errors, maximum strictness)
* PHPCompatibility: 8.2-8.5 (fully compatible)
== Changelog ==
= 1.1.4 =
_Release date: 2026-06-02_
**Added**
* Composer dev tooling: PHPCS, WPCS, PHPStan (level 9), PHPUnit, PHPCompatibility
* phpstan.neon, phpcs.xml, phpunit.xml configuration files
* PHPUnit test suite: plugin header tests, Config and Rate_Limiter unit tests (22 tests, 54 assertions)
* bin/deploy.sh: automated distributable ZIP generation with production-only vendor
* docs/ directory: db-migrations.md, known-issues.md
**Changed**
* Tested up to WordPress 7.1
* PHP compatibility declared: 8.28.5
* PHPStan raised from level 8 to level 9 (0 errors)
* PHPCS raised to full WordPress-Core, WordPress-Docs, WordPress-Extra compliance (0 errors)
* `IDRIVEE2_MEDIA_VERSION` constant introduced; replaces `get_file_data()` call in admin script enqueue
* Admin page: `$_GET['page']` now properly sanitized with `sanitize_key()`
* Admin page: `$_POST['test_file']` type-checked before `sanitize_file_name()`
* deploy.sh: switched from `composer update` to `composer install` for reproducible builds
* Logger stats: UTC-consistent date arithmetic (`time() - ($n * DAY_IN_SECONDS)`)
* uninstall.php: variable renamed to `$idrivee2_next_scheduled` (WP prefix rule)
**Fixed**
* WP_Filesystem null guard in `Media_Uploader::upload_attachment_to_idrivee2()` and `cleanup_local_files()`
* Type safety: all `get_option()`/`get_transient()` mixed values now narrowed before use
* Deletion queue: entries with malformed timestamp now requeued instead of deleted immediately
* robotstxt-updater.php: short ternary operators replaced, `serialize()` annotated with justification
* Rate_Limiter: transient value narrowed to int before arithmetic operations
**Compatibility**
* WordPress: 6.8 - 7.1
* PHP: 8.2 - 8.5
**Tests**
* PHP Coding Standards: 3.13.5 (0 errors)
* WordPress Coding Standards: 3.3.0 (0 violations)
* PHPStan: Level 9 (0 errors)
* PHPCompatibility: 8.2-8.5
= 1.1.2 =
_Release date: 2026-02-04_