=== Mux Video Uploader ===
Contributors: @2coders
Tags: streaming, player, video hosting, video, video player
Tested up to: 7.0
Requires at least: 5.9
Requires PHP: 7.4
Stable tag: 1.1.5
License: GPLv2
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The Mux Video Uploader for WordPress by 2Coders simplifies video uploads, video streaming, and video management.

== Description ==

The Mux Video Uploader for WordPress by 2Coders simplifies video uploads, video streaming, and video management. With this easy-to-use plugin, you can easily upload high-quality videos and play them on your website, whether you're a beginner or an experienced admin.


= Key Features = 

- **Easy Video Uploads and Previews**: Effortlessly upload and preview your videos with the **Mux Video Uploader**. Manage videos directly from your WordPress dashboard without any complications.

- **Optimized Video Streaming**: Powered by **Mux and 2Coders**, this plugin delivers videos with adaptive streaming and automatic optimization, ensuring the best playback quality, regardless of your audience's internet connection speed.

- **Customizable Video Player**: Personalize the video player to fit your website’s theme. With customizable video player skins, it integrates seamlessly into your site’s design.

- **Mux Gutenberg Block & Preview**: Embed **Mux videos** into your WordPress pages easily with the dedicated Gutenberg block. You can preview your videos instantly using the **Mux Player**.

- **Auto-Generated & Bring Your Own Captions**: Enable automatic captions or upload your caption files. Add captions during the upload process or after uploading from the Asset List for better accessibility in many languages

- **MP4 Generation Options**: Generate **MP4 video files** (audio-only or highest resolution) during the upload process or after uploading, directly from the Asset List to allow offline viewing. Audio-only mp4 files can be used to trigger AI workflows like transcriptions, summarization, etc...

- **Video Quality Selection**: Choose from three video quality options—Basic, Plus, or Premium—during upload to ensure the best quality for your content.

- **Developer-Friendly**: This plugin supports **customization** and easy integration, making it perfect for developers looking to streamline their workflow.

= Additional Features =

- **Drag & Drop Uploads**: Upload videos with a simple drag-and-drop feature.

- **Preview with Mux Player**: View and test your video in real-time before publishing.

- **Content Management**: Easily manage and update your video library.

- **Seamless Streaming**: Sync your Mux account and player for smooth video streaming.

- **Insert Videos Anywhere**: Use shortcodes to add videos to any page or post on your WordPress site.

- **Quick Editing**: Add titles, descriptions, and covers to your videos quickly.

- **Custom Stream Domains**: Stream videos using your custom domain with Mux for better branding.

- **Secure Video Streaming**: Secure your video content with signed URLs to protect against unauthorized access.

- **Theme and Plugin Compatibility**: The plugin is compatible with a wide range of WordPress themes, page builders, and plugins.

= Service Information =

Mux Service: https://www.mux.com/
Terms of Use: https://www.mux.com/terms
Privacy Policy: https://www.mux.com/privacy

= 3rd Party or External Services =

This plugin utilizes several libraries and external services for its functionality. Below are the details:

= Mux PHP SDK =

The plugin makes use of the Mux PHP SDK library to interact with the Mux API.

- [Mux PHP SDK on GitHub](https://github.com/muxinc/mux-php)

= Mux Player =

The video playback functionality is based on Mux Player, a video player from Mux.

- [Mux Player on Mux’s website](https://mux.com/video-player)
- Terms of Service: [Mux Terms of Service](https://mux.com/terms)

= PHP JWT =

The PHP JWT library is used to generate and manipulate JWT tokens.

- [PHP JWT on GitHub](https://github.com/firebase/php-jwt)
- License: [PHP JWT License](https://github.com/firebase/php-jwt/blob/master/LICENSE)

= Mux Upchunk =

The file upload functionality utilizes Mux Upchunk, a library to facilitate file uploads.

- [Mux Upchunk on GitHub](https://github.com/muxinc/upchunk)

= Font Awesome 5 =

Font Awesome is a font and icon toolkit based on CSS and Less. It provides scalable vector icons that can be customized with CSS.

- **Version**: 5.15.4
- **Website**: [Font Awesome](https://fontawesome.com/)
- **License**: [Font Awesome Free License](https://fontawesome.com/license/free)

= Important Notice: =

This plugin relies on the following domains for its core functionality:
https://stream.mux.com/ – Used for streaming video content.
https://api.mux.com – Provides API access for plugin communication.
https://image.mux.com/ – Used for fetching and displaying video thumbnails.

= Disclaimer =

This plugin is provided as-is, and the developers are not responsible for the performance or actions of the Mux service. Users are encouraged to review Mux’s terms of use and privacy policies before implementing the plugin.

== Changelog ==

= 1.1.5 - 2026-05-21 =
* Security: General security hardening across the admin area.
* Security: Tightened permission and request-validation checks on internal admin endpoints.
* Security: Improved handling of sensitive integration settings.
* Compatibility: Updated "Tested up to" to WordPress 7.0 and addressed WordPress.org Plugin Check recommendations.
* Compatibility: Internal translation files and bundled assets updated.
* Fix: Resolved an "unsaved changes" prompt that could appear after saving Video Security settings.
* Fix: Signed-video playback now keeps working in the WordPress admin after adding an allowed domain.
* Fix: Minor UI and validation fixes in the settings and asset views.

= 1.1.4 - 2025-12-26 =
* Fix: Fixed domain validation in Video Security settings showing incorrect error for valid domains.
* Fix: Separated domain format validation from duplicate checking to display appropriate error messages.
* Fix: Fixed regex pattern for domain validation to properly handle .local and .test domains.

= 1.1.3 - 2025-09-30 =
* Security: Full CSRF protection implemented across all 32 endpoints.
* Security: Removed unnecessary public AJAX hooks for sensitive actions.
* Security: SQL injection vulnerabilities resolved.
* Security: XSS prevention applied across inputs and outputs.
* Security: Capability checks improved for admin-only actions.
* Security: File upload validation enforced.
* Improvement: Optimized performance of Gutenberg Mux block.
* Improvement: Enhanced JWT token generation logic.
* Improvement: Custom video titles when uploading new videos.
* Improvement: Edit and add titles for already uploaded videos in the Asset List.
* Improvement: Video title data stored in the database.
* Improvement: Video search by title or ID in the Asset List.
* Fix: Corrected asset refresh logic and resolved "Invalid playback URL" issue.
* Other: Refactored internal functions and updated documentation.
* Other: Plugin title changed to "Mux Video Uploader".
* For developers: See detailed CHANGELOG.md and Security Report v1.1.3 in the repository.

= 1.1.2 - 2025-05-15 =
* Initial release with Mux video integration for Gutenberg editor.
* Support for multiple playback configurations and custom thumbnails.

= 1.1.1 - 2025-04-10 =
* Fixed minor compatibility issues with WordPress 6.0+.

= 1.1.0 - 2025-03-20 =
* Added support for JWT-signed playback URLs.
* Implemented dynamic token regeneration for expired playback tokens.

