Skip to content

WPMediaVerse 1.5.0 - Pipeline unification + private-leak fix

Choose a tag to compare

@vapvarun vapvarun released this 28 May 09:06
· 875 commits to main since this release

Non-public uploads now render their own thumbnails. Upload and serve pipeline unified so the bug pattern cannot recur. Private uploads leave zero public footprint. Legacy broken video posters heal automatically on update.

Pairs with WPMediaVerse Pro 1.5.0 - install both updates together when running Pro.

Changelog

  • Fix - Non-public uploads no longer 403 their own thumbnails after upload. Members, Friends, Only Me, Group, and Custom-access media now serve correctly to the owner and to viewers granted access, on local storage and on every cloud driver.
  • Fix - Private uploads now leave zero public footprint. No BuddyPress activity entry is created for private media, the profile activity tab does not surface broken thumbnail cards, the profile media tab badge no longer counts private items for other viewers, and the explore grid stays clean. Other non-public privacy levels (Members, Friends, Group, Custom) keep their audience-discovery semantics.
  • Fix - Video poster thumbnails for items uploaded before 1.5.0 are healed on update. Database migration v15 re-derives the poster path meta from the on-disk file location for video and audio rows so cards, lightbox, and feed previews render the correct still frame.
  • Improve - One unified read path for media URLs. Theme overrides and shortcode users can call the same Core MediaUrl helper that templates use, so custom integrations no longer have to know about signed URL plumbing.
  • Improve - Upload pipeline produces one consistent file layout for every media type. Image variants, video posters, audio cover art, and WebP and AVIF siblings all flow through the same writer so adding a new format in the future is one extension point, not five.
  • Improve - WebP and AVIF sibling generation collapsed to one shared publisher. Removes a duplicate-write footgun where the WebP and AVIF paths could disagree about the destination directory.
  • Dev - New services MediaUrl, VariantSpec, StorageRouter, MediaVariantWriter, PosterService consolidate the upload and read pipeline. Existing methods kept as shims for at least two releases per the deprecation policy. UploadService dropped from 1,482 to 1,211 lines.
  • Dev - Database migration to version 15 backfills thumb_size_path meta for video and audio rows where pre-1.5.0 uploads recorded the wrong subdirectory. Idempotent. Includes a posters fallback probe for sites whose URL meta also diverged, and a cloud-aware probe that respects CDN-authoritative paths so cloud customers' existing video posters keep resolving.
  • Dev - New filter mvs_broadcast_thumbnail_ttl controls the TTL for thumbnails embedded in long-lived surfaces like notification emails and RSS. Defaults to one hour. Filter target for sites that cache at the CDN for longer.
  • Compat - Paired with WPMediaVerse Pro 1.5.0. Install both updates together when running Pro.

Upgrade notes

For customers using cloud storage (BunnyCDN, S3, R2, Spaces) with pre-1.5.0 video uploads: Migrator v15 runs automatically on first plugin load after the update. No manual action needed.

If video posters still appear broken after the update, run `wp mvs cloud-thumbs-backfill` to push any local-only poster variants to the active cloud driver.

Verified bugs

  • Basecamp 9925110293 - non-public thumbnails 403 for owner
  • Basecamp 9936622656 - private media leak on 5 surfaces (BP activity stream, profile activity tab, profile media tab, explore grid, Pro profile templates) — browser-verified visual proof
  • Basecamp 9882148131 - video thumbnail with BunnyCDN
  • Basecamp 9910574354 - Safari and Bing video poster