v1.3.0 Latest
New
- Automatic image optimization on every upload. JPEGs, PNGs, and GIFs are re-encoded for smaller file size with hidden camera data stripped. Most uploads drop 10 to 30 percent without any visible quality change.
- WebP image format support. Every uploaded image gets a second copy in WebP, around 25 to 35 percent smaller than JPEG. Modern browsers automatically use the smaller file; older browsers keep using the original.
- AVIF image format support for even smaller files. AVIF is roughly 30 percent smaller than WebP again. Opt in from Settings, Storage tab. Default off because AVIF encoding takes longer than WebP.
- Frontend serves WebP across every surface. Explore grid, BuddyPress activity feed, dashboard cards, single-media view, and the lightbox all swap in WebP automatically when the visitor's browser supports it.
- Private images now also serve WebP and AVIF. Access-rule-protected media gets the same modern-format speed boost as public media.
- Cloud storage migration tools. Move existing local media to S3 or BunnyCDN in batches, then clean up the local copies after verification. New WP-CLI command "wp mvs migrate-storage --from=local --to=bunnycdn" handles the bulk move with idempotent resume support.
- Direct CDN URLs for public media. New setting on the Storage tab (default off): when enabled on a cloud-storage install, public images load directly from your CDN edge instead of being proxied through WordPress. Cuts WordPress out of the hot path for image requests.
- WP-CLI commands to optimize existing media. Run "wp mvs optimize 123" on one item or "wp mvs optimize-bulk" across the whole library. Resume-safe if interrupted.
- New Optimization column on the All Media admin listing. Shows percent saved per file at a glance. Row actions Optimize and Details added. The Details page shows everything stored about a file with inline buttons to re-optimize, repair thumbnails, or move to trash.
- Filename strategy setting. New uploads can be saved with hashed filenames or sanitized original names. Hashed mode keeps the user-facing filename visible in downloads and the REST API; only the on-disk file uses the hash. Existing files are never renamed.
- Faster search at scale. The Explore search now uses a FULLTEXT index for 3+ character queries, returning results across 100,000+ media items in milliseconds instead of seconds. Sites that cannot enable FULLTEXT continue working on the existing LIKE search.
- Automatic view-event cleanup. View tracking events older than 90 days are pruned daily. Window is configurable per site (0 to disable, max 730 days). Keeps the database lean on long-running sites.
- Default video poster for videos without an embedded cover image. Previously these showed a black frame. Now they render a clean placeholder.
- Audio card design. Audio with embedded cover art shows the cover; audio without art shows a unique waveform image generated from the file id.
- Compatibility with EWWW, Imagify, Smush, and ShortPixel image optimizers through a single extension point. If you already use one of these, leave it active; it runs alongside the built-in optimization.
- Opt-in usage telemetry to help us prioritize features. Default off. No personal data, file names, or content ever leaves your site. Counters stay local.
Improve
- Explore feed shows newest media first. Albums no longer pin to the top of page one because they are static containers. Album pages remain accessible by their permalinks.
- Per-request media cache for activity feeds and dashboards. Each media item is loaded from the database once per page even when rendered many times. Drops query count on busy pages.
- Production stability commitments documented for site owners. The plugin will deprecate features through proper notice periods of at least two major versions instead of removing them without warning.
Fix
- Security: BuddyPress activity privacy now follows media privacy. Previously a non-public media uploaded to a BP activity would leak the activity card (composer text, timestamp, author) to the public stream. Activity visibility is now derived from the strictest of the media and album privacy settings.
- Security: REST per-page hardening across all list endpoints. Callers can no longer request unbounded result sets to slow the site. Maximum is filterable for trusted environments.
- Cloud storage uploads now generate thumbnails reliably. Some cloud-driver uploads previously failed to produce thumbnails silently.
- Image optimization never makes a file larger. If the optimized version is bigger than the source, the original is kept.
- Animated GIFs stay animated. The optimization pass now detects animated GIFs and skips them so they aren't flattened to their first frame.
- Broken thumbnail icons no longer appear for videos and audio when no poster image is available. Videos fall back to their first frame; audio falls back to the music icon.
- Most MP4 video uploads now generate proper poster images on managed WordPress hosts. Previously some uploads silently fell back to a low-quality thumbnail because of how managed hosting environments configure server binaries.
- Cleared all PHP 8.4 and PHP 8.5 compatibility warnings. The plugin runs cleanly on the latest PHP versions.
Dev
- New action hook mvs_media_privacy_changed fires when a media's privacy column is updated. Useful for activity adapters and audit logs.
- New StorageDriverInterface::download($path, $local_dest) method on Local, S3, and BunnyCDN drivers. Third-party storage drivers must implement it.
Compat
- Paired with WPMediaVerse Pro 1.3.0. Install both updates together when running Pro.