v1.4.1
This commit is contained in:
parent
cc1bca74fa
commit
6a8de6e2e2
5 changed files with 15 additions and 15 deletions
|
|
@ -1,6 +1,6 @@
|
|||
== Changelog ==
|
||||
|
||||
= 1.4.0 =
|
||||
= 1.4.1 =
|
||||
|
||||
_Release date: 2026-08-10_
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* Gitea Plugin URI: https://git.robotstxt.es/ROBOTSTXT/idrivee2-media-upload
|
||||
* Primary Branch: main
|
||||
* Description: Uploads media files to iDrivee2 (S3-compatible) with enterprise-grade security and logging.
|
||||
* Version: 1.4.0
|
||||
* Version: 1.4.1
|
||||
* Requires at least: 5.3
|
||||
* Requires PHP: 8.1
|
||||
* Author: ROBOTSTXT
|
||||
|
|
@ -36,7 +36,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||
*
|
||||
* @since 1.1.4
|
||||
*/
|
||||
define( 'IDRIVEE2_MEDIA_VERSION', '1.4.0' );
|
||||
define( 'IDRIVEE2_MEDIA_VERSION', '1.4.1' );
|
||||
|
||||
/**
|
||||
* Load Composer autoloader if available.
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ Contributors: robotstxt, javiercasares
|
|||
Tags: media, upload, s3, cdn, storage, idrivee2, cloud
|
||||
Requires at least: 5.3
|
||||
Tested up to: 7.1
|
||||
Stable tag: 1.4.0
|
||||
Stable tag: 1.4.1
|
||||
Requires PHP: 8.1
|
||||
Version: 1.4.0
|
||||
Version: 1.4.1
|
||||
License: GPL-3.0-or-later
|
||||
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ PHP 8.2 or higher is required. The plugin uses strict type declarations and is t
|
|||
|
||||
== Changelog ==
|
||||
|
||||
= 1.4.0 =
|
||||
= 1.4.1 =
|
||||
|
||||
_Release date: 2026-08-10_
|
||||
|
||||
|
|
|
|||
14
update.json
14
update.json
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"name": "iDrivee2 Media Upload",
|
||||
"slug": "idrivee2-media-upload",
|
||||
"version": "1.3.0",
|
||||
"download_url": "https://git.robotstxt.es/ROBOTSTXT/idrivee2-media-upload/releases/download/1.3.0/idrivee2-media-upload-1.3.0.zip",
|
||||
"requires": "4.1",
|
||||
"version": "1.4.1",
|
||||
"download_url": "https://git.robotstxt.es/ROBOTSTXT/idrivee2-media-upload/releases/download/1.4.1/idrivee2-media-upload-1.4.1.zip",
|
||||
"requires": "5.3",
|
||||
"requires_php": "8.1",
|
||||
"tested": "7.1",
|
||||
"last_updated": "2026-07-18",
|
||||
"last_updated": "2026-08-10",
|
||||
"author": "ROBOTSTXT",
|
||||
"author_profile": "https://www.robotstxt.es/",
|
||||
"homepage": "https://git.robotstxt.es/ROBOTSTXT/idrivee2-media-upload",
|
||||
"description": "Uploads media files to iDrivee2 (S3-compatible) with enterprise-grade security and logging.",
|
||||
"changelog": "<h3>1.3.0 - 2026-07-18</h3><ul><li><strong>Added:</strong> Image sub-sizes control under Settings → iDrivee2 — three modes: all (default), thumbnail, none.</li><li><strong>Added:</strong> IDRIVEE2_MEDIA_SUBSIZES_MODE wp-config.php constant; UI field becomes read-only when set.</li><li><strong>Added:</strong> In thumbnail/none modes, the -scaled derivative (big_image_size_threshold) is also disabled.</li><li><strong>Security:</strong> composer audit CVEs resolved — guzzlehttp/guzzle 7.11→7.15, guzzlehttp/psr7 2.11→2.13, mtdowling/jmespath.php 2.8→2.9 (CVE-2026-55767/55568/55766/54133).</li></ul><h3>1.2.1 - 2026-06-05</h3><ul><li><strong>Fixed:</strong> Infinite recursion on image upload — wp_update_post() fired edit_attachment which re-triggered the upload method. Removed edit_attachment hook, added re-entry guard.</li><li><strong>Fixed:</strong> Fatal TypeError: fclose() on already-closed stream — AWS SDK closes streams after upload; added is_resource() check before fclose().</li></ul><h3>1.2.0 - 2026-06-02</h3><ul><li><strong>Performance:</strong> Concurrent S3 uploads via AWS CommandPool (default 5, tunable via IDRIVEE2_UPLOAD_CONCURRENCY)</li><li><strong>Performance:</strong> Stream files directly from disk — no full load into memory</li><li><strong>Performance:</strong> Removed per-file headObject pre-check — single batch DB write for stats</li><li><strong>Changed:</strong> Hook priority lowered from 999 to 10</li></ul><h3>1.1.4 - 2026-06-02</h3><ul><li><strong>Added:</strong> Full dev tooling: PHPCS, PHPStan level 9, PHPUnit test suite (22 tests)</li><li><strong>Fixed:</strong> WP_Filesystem null guard, type safety on get_option/get_transient, dynamic asset version</li><li><strong>Changed:</strong> Tested up to WordPress 7.1, PHP 8.1-8.5, Requires at least 4.1</li></ul><h3>1.1.3 - 2026-02-04</h3><ul><li><strong>Fixed:</strong> Critical namespace issue with Robotstxt_Updater class causing fatal error</li><li><strong>Fixed:</strong> Plugin now loads correctly without PHP fatal errors</li></ul><h3>1.1.2 - 2026-02-04</h3><ul><li><strong>Changed:</strong> Deployment script updated to use PHP 8.2 as platform base for production builds</li><li><strong>Changed:</strong> Now uses composer update --no-dev for consistent dependency resolution</li><li><strong>Improved:</strong> Production packages guarantee PHP 8.2+ compatibility regardless of dev environment</li></ul><h3>1.1.1 - 2026-02-04</h3><ul><li><strong>Fixed:</strong> Deployment script now includes essential files (update.json, robotstxt-updater.php, readme.txt, changelog.txt)</li><li><strong>Improved:</strong> Production packages now contain all files required for automatic updates from Gitea</li></ul><h3>1.1.0 - 2026-02-04</h3><ul><li><strong>Changed:</strong> Added explicit PHP version requirement (>=8.2) to composer.json</li><li><strong>Changed:</strong> Updated update.json with correct plugin information</li><li><strong>Changed:</strong> Fixed Text Domain in robotstxt-updater.php to match plugin slug</li><li><strong>Fixed:</strong> Composer now validates PHP version during dependency installation</li><li><strong>Fixed:</strong> Plugin update system correctly identifies the plugin</li><li><strong>Fixed:</strong> Translations properly loaded for updater error messages</li><li><strong>Improved:</strong> All text domains now consistently use 'idrivee2-media-upload'</li></ul><h3>1.0.0 - 2026-02-03</h3><ul><li><strong>Release:</strong> First stable release</li><li><strong>Feature:</strong> Automatic upload of media files to iDrivee2 (S3-compatible storage)</li><li><strong>Feature:</strong> URL rewriting to serve media from CDN</li><li><strong>Feature:</strong> Local file deletion after successful upload</li><li><strong>Feature:</strong> Admin interface with connection and upload testing</li><li><strong>Security:</strong> Enterprise-grade security with nonce validation</li><li><strong>Architecture:</strong> Class-based modular architecture with dependency injection</li><li><strong>Testing:</strong> PHPUnit test structure and PHPStan static analysis</li><li><strong>Compatibility:</strong> WordPress 6.8+ and PHP 8.2+</li></ul>",
|
||||
"changelog": "<h3>1.4.1 - 2026-08-10</h3><ul><li><strong>Added:</strong> Data preservation option — checkbox under Settings → iDrivee2 to opt in to data deletion on uninstall (default: preserve).</li><li><strong>Added:</strong> WP-CLI commands: wp idrivee2 test-connection, wp idrivee2 cleanup-local-files, wp idrivee2 stats --days=N.</li><li><strong>Security:</strong> Logger validates IP with filter_var(FILTER_VALIDATE_IP); Admin page wp_unslash at read point.</li><li><strong>Changed:</strong> WordPress minimum corrected 4.1 → 5.3 (wp-compat verified). Uninstall uses delete_post_meta_by_key() with opt-in data preservation.</li><li><strong>Changed:</strong> Cron cleanup uses unlink() directly (WP_Filesystem unavailable without credentials in cron context).</li></ul><h3>1.3.0 - 2026-07-18</h3><ul><li><strong>Added:</strong> Image sub-sizes control under Settings → iDrivee2 — three modes: all (default), thumbnail, none.</li><li><strong>Added:</strong> IDRIVEE2_MEDIA_SUBSIZES_MODE wp-config.php constant; UI field becomes read-only when set.</li><li><strong>Security:</strong> composer audit CVEs resolved — guzzlehttp/guzzle 7.11→7.15.2, guzzlehttp/psr7 2.11→2.13, mtdowling/jmespath.php 2.8→2.9.</li></ul><h3>1.2.1 - 2026-06-05</h3><ul><li><strong>Fixed:</strong> Infinite recursion on image upload — wp_update_post() fired edit_attachment which re-triggered the upload method.</li><li><strong>Fixed:</strong> Fatal TypeError: fclose() on already-closed stream — AWS SDK closes streams after upload.</li></ul><h3>1.2.0 - 2026-06-02</h3><ul><li><strong>Performance:</strong> Concurrent S3 uploads via AWS CommandPool (default 5, tunable via IDRIVEE2_UPLOAD_CONCURRENCY).</li><li><strong>Performance:</strong> Stream files directly from disk — no full load into memory.</li></ul>",
|
||||
"sections": {
|
||||
"description": "Uploads media files to iDrivee2 (S3-compatible) with enterprise-grade security and logging. The plugin intercepts WordPress media uploads, pushes files to an S3-compatible bucket, deletes local copies, and rewrites URLs to serve media from the CDN.",
|
||||
"changelog": "<h3>1.3.0 - 2026-07-18</h3><ul><li><strong>Added:</strong> Image sub-sizes control under Settings → iDrivee2 — three modes: all (default), thumbnail, none.</li><li><strong>Added:</strong> IDRIVEE2_MEDIA_SUBSIZES_MODE wp-config.php constant; UI field becomes read-only when set.</li><li><strong>Added:</strong> In thumbnail/none modes, the -scaled derivative (big_image_size_threshold) is also disabled.</li><li><strong>Security:</strong> composer audit CVEs resolved — guzzlehttp/guzzle 7.11→7.15, guzzlehttp/psr7 2.11→2.13, mtdowling/jmespath.php 2.8→2.9 (CVE-2026-55767/55568/55766/54133).</li></ul><h3>1.2.1 - 2026-06-05</h3><ul><li><strong>Fixed:</strong> Infinite recursion on image upload — wp_update_post() fired edit_attachment which re-triggered the upload method. Removed edit_attachment hook, added re-entry guard.</li><li><strong>Fixed:</strong> Fatal TypeError: fclose() on already-closed stream — AWS SDK closes streams after upload; added is_resource() check before fclose().</li></ul><h3>1.2.0 - 2026-06-02</h3><ul><li><strong>Performance:</strong> Concurrent S3 uploads via AWS CommandPool (default 5, tunable via IDRIVEE2_UPLOAD_CONCURRENCY)</li><li><strong>Performance:</strong> Stream files directly from disk — no full load into memory</li><li><strong>Performance:</strong> Removed per-file headObject pre-check — single batch DB write for stats</li><li><strong>Changed:</strong> Hook priority lowered from 999 to 10</li></ul><h3>1.1.4 - 2026-06-02</h3><ul><li><strong>Added:</strong> Full dev tooling: PHPCS, PHPStan level 9, PHPUnit test suite (22 tests)</li><li><strong>Fixed:</strong> WP_Filesystem null guard, type safety on get_option/get_transient, dynamic asset version</li><li><strong>Changed:</strong> Tested up to WordPress 7.1, PHP 8.1-8.5, Requires at least 4.1</li></ul><h3>1.1.3 - 2026-02-04</h3><ul><li><strong>Fixed:</strong> Critical namespace issue with Robotstxt_Updater class causing fatal error</li><li><strong>Fixed:</strong> Plugin now loads correctly without PHP fatal errors</li></ul><h3>1.1.2 - 2026-02-04</h3><ul><li><strong>Changed:</strong> Deployment script updated to use PHP 8.2 as platform base for production builds</li><li><strong>Changed:</strong> Now uses composer update --no-dev for consistent dependency resolution</li><li><strong>Improved:</strong> Production packages guarantee PHP 8.2+ compatibility regardless of dev environment</li></ul><h3>1.1.1 - 2026-02-04</h3><ul><li><strong>Fixed:</strong> Deployment script now includes essential files (update.json, robotstxt-updater.php, readme.txt, changelog.txt)</li><li><strong>Improved:</strong> Production packages now contain all files required for automatic updates from Gitea</li></ul><h3>1.1.0 - 2026-02-04</h3><ul><li><strong>Changed:</strong> Added explicit PHP version requirement (>=8.2) to composer.json</li><li><strong>Changed:</strong> Updated update.json with correct plugin information</li><li><strong>Changed:</strong> Fixed Text Domain in robotstxt-updater.php to match plugin slug</li><li><strong>Fixed:</strong> Composer now validates PHP version during dependency installation</li><li><strong>Fixed:</strong> Plugin update system correctly identifies the plugin</li><li><strong>Fixed:</strong> Translations properly loaded for updater error messages</li><li><strong>Improved:</strong> All text domains now consistently use 'idrivee2-media-upload'</li></ul><h3>1.0.0 - 2026-02-03</h3><ul><li><strong>Release:</strong> First stable release</li><li><strong>Feature:</strong> Automatic upload of media files to iDrivee2 (S3-compatible storage)</li><li><strong>Feature:</strong> URL rewriting to serve media from CDN</li><li><strong>Feature:</strong> Local file deletion after successful upload</li><li><strong>Feature:</strong> Admin interface with connection and upload testing</li><li><strong>Security:</strong> Enterprise-grade security with nonce validation</li><li><strong>Architecture:</strong> Class-based modular architecture with dependency injection</li><li><strong>Testing:</strong> PHPUnit test structure and PHPStan static analysis</li><li><strong>Compatibility:</strong> WordPress 6.8+ and PHP 8.2+</li></ul>"
|
||||
"changelog": "<h3>1.4.1 - 2026-08-10</h3><ul><li><strong>Added:</strong> Data preservation option — checkbox under Settings → iDrivee2 to opt in to data deletion on uninstall (default: preserve).</li><li><strong>Added:</strong> WP-CLI commands: wp idrivee2 test-connection, wp idrivee2 cleanup-local-files, wp idrivee2 stats --days=N.</li><li><strong>Security:</strong> Logger validates IP with filter_var(FILTER_VALIDATE_IP); Admin page wp_unslash at read point.</li><li><strong>Changed:</strong> WordPress minimum corrected 4.1 → 5.3 (wp-compat verified). Uninstall uses delete_post_meta_by_key() with opt-in data preservation.</li><li><strong>Changed:</strong> Cron cleanup uses unlink() directly (WP_Filesystem unavailable without credentials in cron context).</li></ul><h3>1.3.0 - 2026-07-18</h3><ul><li><strong>Added:</strong> Image sub-sizes control under Settings → iDrivee2 — three modes: all (default), thumbnail, none.</li><li><strong>Added:</strong> IDRIVEE2_MEDIA_SUBSIZES_MODE wp-config.php constant; UI field becomes read-only when set.</li><li><strong>Security:</strong> composer audit CVEs resolved — guzzlehttp/guzzle 7.11→7.15.2, guzzlehttp/psr7 2.11→2.13, mtdowling/jmespath.php 2.8→2.9.</li></ul><h3>1.2.1 - 2026-06-05</h3><ul><li><strong>Fixed:</strong> Infinite recursion on image upload — wp_update_post() fired edit_attachment which re-triggered the upload method.</li><li><strong>Fixed:</strong> Fatal TypeError: fclose() on already-closed stream — AWS SDK closes streams after upload.</li></ul><h3>1.2.0 - 2026-06-02</h3><ul><li><strong>Performance:</strong> Concurrent S3 uploads via AWS CommandPool (default 5, tunable via IDRIVEE2_UPLOAD_CONCURRENCY).</li><li><strong>Performance:</strong> Stream files directly from disk — no full load into memory.</li></ul>"
|
||||
},
|
||||
"banners": {
|
||||
"low": "",
|
||||
|
|
@ -24,4 +24,4 @@
|
|||
"1x": "",
|
||||
"2x": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
4
vendor/composer/installed.php
vendored
4
vendor/composer/installed.php
vendored
|
|
@ -3,7 +3,7 @@
|
|||
'name' => 'robotstxt/idrivee2-media-upload',
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '4e96ec621d7be491bf48b461fd73f93eb932182e',
|
||||
'reference' => 'ec7fcfd34264c29d76be814aed46f4a9b041bfd1',
|
||||
'type' => 'wordpress-plugin',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
'robotstxt/idrivee2-media-upload' => array(
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '4e96ec621d7be491bf48b461fd73f93eb932182e',
|
||||
'reference' => 'ec7fcfd34264c29d76be814aed46f4a9b041bfd1',
|
||||
'type' => 'wordpress-plugin',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
|
|
|
|||
Loading…
Reference in a new issue