| @@ -1,15 +1,14 @@ | ||
| 1 | 1 | === Media Cloud Sync === |
| 2 | 2 | Author: Dudlewebs |
| 3 | 3 | Author URI: https://dudlewebs.com |
| 4 | 4 | Contributors: dudlewebs |
| 5 | -Donate link: https://dudlewebs.com/donate | |
| 6 | 5 | Tags: sync, cloud, offload, media, aws |
| 7 | 6 | License: GPLv2 or later |
| 8 | 7 | Requires PHP: 8.1 |
| 9 | 8 | Requires at least: 5.9 |
| 10 | -Tested up to: 7.0 | |
| 11 | -Stable tag: 1.3.12 | |
| 9 | +Tested up to: 7.1 | |
| 10 | +Stable tag: 1.4.2 | |
| 12 | 11 | |
| 13 | 12 | Offload media to cloud storage (S3, DigitalOcean, Google Cloud, Cloudflare R2, S3 compatible Services) and rewrite URLs for seamless file delivery. |
| 14 | 13 | |
| 15 | 14 | == Description == |
| @@ -64,13 +63,26 @@ | ||
| 64 | 63 | 🔹 Benefit from RTL (Right to Left) support for multilingual websites. |
| 65 | 64 | 🔹 Access WPML string translation support for seamless multilingual content management. |
| 66 | 65 | 🔹 Enjoy seamless compatibility across multisite networks for centralized management and consistent performance. |
| 67 | 66 | |
| 67 | +== Pro Features == | |
| 68 | +[Media Cloud Sync Pro](https://dudlewebs.com/product/media-cloud-sync/) extends the free plugin with cloud-side management tools, faster bulk operations, and per-item control directly from the Media Library: | |
| 69 | + | |
| 70 | +🔹 **Media Library actions** — Sync to Cloud, Force Re-upload, Remove from Server, Restore from Cloud, Remove from Cloud, and View on Cloud, directly on the single-attachment popup and as bulk dropdowns in both grid and list view, with a cloud-offload status badge/column and a Synced/Not Synced filter. | |
| 71 | +🔹 **File Manager** — browse your connected cloud bucket, download as zip, restore to server, move, and delete files, with per-item and bulk actions. | |
| 72 | +🔹 **Restore Media to Server** — bulk-restore previously offloaded media from the cloud back to your server. | |
| 73 | +🔹 **Move Media to New Path** — bulk-move already-synced media to a newly configured base path. | |
| 74 | +🔹 **Bucket-to-Bucket Migration** — copy synced media to a new provider, bucket, or account, including reusing an already-connected credential source as the migration destination. | |
| 75 | +🔹 **Ajax/Mixed Sync Method** — run bulk sync live in the browser (Ajax) or with automatic WP-Cron fallback (Mixed), instead of Cron-only. | |
| 76 | +🔹 **Delivery Settings: Cache-Control duration** — set a custom Cache-Control max-age (or explicit no-cache) per storage/CDN choice for newly uploaded files. | |
| 77 | +🔹 **Include/Exclude Extensions** — control exactly which file types get uploaded to the bucket. | |
| 78 | +🔹 **Third-party compatibility** — WooCommerce and Easy Digital Downloads downloadable files, BuddyBoss Platform, WPML, Elementor, Divi, Enable Media Replace, EWWW Image Optimizer, Meta Slider, and WP Smush all stay in sync with cloud storage. | |
| 79 | +🔹 And more... | |
| 80 | + | |
| 68 | 81 | == Other Useful Links == |
| 69 | 82 | 🔹 [Official website](https://dudlewebs.com) |
| 70 | -🔹 [Documentation](https://dudlewebs.com/support) | |
| 83 | +🔹 [Documentation](https://dudlewebs.com/guideline/media-cloud-sync/) | |
| 71 | 84 | 🔹 [Get Media Cloud Sync Pro](https://dudlewebs.com/product/media-cloud-sync/) |
| 72 | -🔹 [Donate Now!! Get PRO version license discounts](https://dudlewebs.com/donate) | |
| 73 | 85 | |
| 74 | 86 | == Screenshots == |
| 75 | 87 | 1. Plugin dashboard page, showcasing the main options for configuring the Media Cloud Sync settings. |
| 76 | 88 | 2. Configure wizard welcome screen. |
| @@ -140,8 +152,39 @@ | ||
| 140 | 152 | - **Description**: Manages media files efficiently, allowing file storage, retrieval, and deletion. |
| 141 | 153 | - **Data Sent**: User authentication data, file metadata (name, size, MIME type). |
| 142 | 154 | |
| 143 | 155 | == Changelog == |
| 156 | += 1.4.2 = | |
| 157 | +* Tweak: Internal groundwork for an upcoming Pro integration. | |
| 158 | +* Feature: Added a read-only stream-wrapper fallback so plugins without a dedicated integration can read offloaded files straight from cloud storage. | |
| 159 | +* Bug Fix: A local media URL pasted into an ACF oEmbed field wasn't rewritten to the cloud URL like other ACF text-like fields already are. | |
| 160 | +* Bug Fix: A corrupted/legacy media count entry could crash the admin page with "Cannot access offset of type string" instead of self-healing. | |
| 161 | +* Bug Fix: With "Remove from server" enabled, images uploaded via WordPress 7.1's client-side (block editor) sub-size generation reached the bucket with the original file only — sub-sizes stayed on the server and never synced. | |
| 162 | +* Bug Fix: Flipping or rotating an image 180° in place (native Image Editor, or the ACF Image Crop Add-on) wasn't detected as a change, so the bucket kept serving the pre-edit version. | |
| 163 | +* Feature: Added offloading support for the HEIC source file and animated-GIF video/poster files WordPress 7.1's client-side media processing can attach to an upload. | |
| 164 | += 1.4.1 = | |
| 165 | +* Feature: Added private media support (Pro) — mark individual Media Library items private, served through short-lived signed URLs. | |
| 166 | +* Feature: Added a "Remove from Cloud" bulk sync job (Pro). | |
| 167 | +* Feature: Added a per-item cloud-delivery override (Pro) — "Use Server URL" / "Use Cloud URL" in the Media Library. | |
| 168 | +* Bug Fix: WooCommerce could leave restored files on the server and skip re-uploading a regenerated thumbnail crop. | |
| 169 | +* Bug Fix: Customizer crop, image editor, and Regenerate Thumbnails could leave restored files on the server without cleaning up. | |
| 170 | +* Bug Fix: A successful Cloudflare R2 restore could be treated as failed, skipping cleanup. | |
| 171 | +* Bug Fix: A failed image size re-upload could wipe that size's cloud reference from the database. | |
| 172 | +* Bug Fix: Private media on Google Cloud Storage always failed to apply; now uses GCS Managed Folders instead. | |
| 173 | +* Feature: Added a Security step (Block All Public Access) to the Google Cloud Storage setup wizard. | |
| 174 | +* Feature: Added a generic integration extension point so Pro add-ons can register new source types. | |
| 175 | +* Bug Fix: A source type with no meta table configured could break signed URL generation. | |
| 176 | +* Bug Fix: Resolving a file's relative path from a full URL produced an incorrect local path. | |
| 177 | +* Feature: Source types can now declare a translatable admin-UI label and use a custom meta caching backend. | |
| 178 | +* Bug Fix: A WooCommerce compatibility hook could force local file paths for the rest of a request after any image rendered. | |
| 179 | +* Feature: Added a generic hook (Pro) letting an integration veto a cloud-storage delete when another item shares the file. | |
| 180 | +* Bug Fix: An attachment deleted without going through wp_delete_attachment() could leave its cloud-tracking row orphaned. | |
| 181 | +* Feature: Added generic bulk sync job lifecycle hooks so Pro add-ons can react when a job finishes. | |
| 182 | +* Security Fix: A crafted file path in a Pro downloadable-file field (WooCommerce/EDD) could use "../" to escape the uploads directory. | |
| 183 | +* Bug Fix: Resolving a bare cloud/local URL (e.g. in page builder data) to its attachment could silently fail to match. | |
| 184 | += 1.4.0 = | |
| 185 | +* Compatibility: WordPress 7.1 | |
| 186 | +* Bug Fix: WooCommerce image regeneration restored offloaded files to the server to resize them but never removed them again, even with "Remove from server" enabled, and could leave stale, un-regenerated images on the cloud since the plugin's "unchanged, skip reupload" check couldn't tell a regenerated file at the same size apart from a real no-op. Regenerated files are now always re-uploaded, and restored copies are cleaned up once WooCommerce is done with them. | |
| 144 | 187 | = 1.3.12 = |
| 145 | 188 | * Tweak: Pro upgrade prompts now link to the live product page and list the actual Pro features (Media Library actions, File Manager, Restore to Server, Move to New Path, Bucket-to-Bucket Migration, faster Ajax/Mixed sync). Added an "Upgrade to Pro" plugin action link on the Plugins screen for non-Pro sites. |
| 146 | 189 | * Feature: File Manager (Pro) — browse your connected cloud bucket, download as zip, restore to server, move, and delete files, with per-item and bulk actions. |
| 147 | 190 | * Feature: Added CDN provider presets (Amazon CloudFront, Bunny.net, Fastly, Cloudflare CDN, Akamai, KeyCDN, Gcore, Edgio, Leaseweb CDN, CDNetworks) to every storage service's CDN settings. |