MediaShield 1.1.0 - bug fixes, accessibility polish, and complete documentation
Bug fixes, accessibility and UX polish, a complete documentation set, and new developer extension points. Safe upgrade with no schema change beyond the v3 migration shipped in 1.0.0.
- New - Search and filter the Videos admin list by title.
- New - Complete customer and developer documentation set covering getting started, configuration, everyday use, and the developer guide.
- New - Player container honors a data-access-type attribute so extensions can declare alternative gate flows, which powers the Pro email gate.
- Improve - Login overlay aria-label now reads the configured Login Overlay Text so screen readers announce the visible message.
- Improve - Migrated all admin SPA, block, and meta-box icons from Dashicons to inline Lucide SVGs.
- Improve - Videos admin table is responsive at 782px and below so action buttons no longer clip.
- Improve - Copy-shortcode and sticky-player close buttons now meet the 40px tap-target minimum.
- Improve - Duration field has an honest "leave 0 if unknown" label with server-side validation.
- Improve - Admin success and error toasts render above the WordPress admin bar instead of behind it.
- Fix - Unknown-platform embed URLs now route through an iframe adapter instead of rendering a broken video element.
- Fix - Per-video email gate now works end to end for anonymous visitors: the toggle saves, the gate fires, captures the email, sets the cookie, and unlocks playback.
- Fix - Resume Playback per-video override is now honored on the frontend.
- Fix - "Last Active" and "Reached At" relative times use UTC consistently so they no longer drift with the site timezone.
- Fix - Protection Level tiers behave distinctly again: basic skips session, watermark, and tracker, while strict forces devtools detection and source hiding.
- Fix - Recent Milestones no longer renders the username and video title as one concatenated string.
- Fix - Thumbnail sideload now handles extensionless CDN URLs from Vimeo, Wistia, and self-hosted sources.
- Fix - Creating a video through the REST API now attaches the platform thumbnail on the first save instead of the second.
- Fix - Thumbnail attachment now surfaces a WP_Error on failure instead of silently continuing.
- Fix - Permanent video delete drops orphan tag rows and purges per-user milestone-tag meta for the deleted video.
- Fix - Trashed videos are excluded from Top Videos, Milestones, and User Detail analytics.
- Fix - The dashboard period selector now also filters the Recent Milestones panel.
- Dev - New filters mediashield_player_access_type and mediashield_session_allow_anonymous_start, plus new hooks for frontend config, empty-referer policy, privacy erase, and the upload lifecycle.
- Dev - The mediashield:access-denied DOM event is now cancelable so listeners can suppress the default overlay and render their own gate.
- Dev - Registered _ms_milestone_tags in the REST schema so the admin SPA can save milestone-tag configuration.
- Dev - Cleared all PHPStan level 5 errors and reduced WPCS to zero errors; the bundled EDD licensing SDK is excluded from linting.
- Dev - Bundled the Action Scheduler and symfony/yaml runtime dependencies so a fresh clone activates without composer install.
- Dev - Added three critical regression journeys for playlist rendering, video-delete cascade, and GDPR export and erase.
- Compat - Pairs with MediaShield Pro 1.1.0. Install both updates together: https://github.com/vapvarun/mediashield-pro/releases/tag/v1.1.0