Upvimeo — Direct Uploads for Vimeo

Plugin Banner

Upvimeo — Direct Uploads for Vimeo

by upvimeo

Download
Description

Tired of the “upload_max_filesize” error, failed HTTP uploads, and wasted hosting bandwidth every time you add a big course video? Upvimeo lets you and your whole team send large videos straight from WordPress to your Vimeo account, with no server timeouts and without ever sharing your master Vimeo login.

With Upvimeo you can upload 5GB, 20GB, or even 50GB+ 4K videos directly from WordPress to Vimeo with zero server load. Every upload is unbreakable and auto-resuming, powered by Vimeo’s official TUS resumable upload protocol, so a dropped connection never ruins a two-hour upload.

Everything You Get in Upvimeo FREE

Upvimeo Free is a complete Vimeo publishing toolkit. Keep it active and you will never fight your server’s upload limits again:

  • Bypass Server Upload Limits (upload_max_filesize): Upload multi-gigabyte video files directly from the browser to Vimeo without touching your web hosting bandwidth or timing out PHP.
  • Unbreakable Resumable Uploads (TUS Protocol): If your internet connection drops mid-upload, Upvimeo automatically pauses and resumes right where it left off.
  • Gutenberg Block & Classic Editor Support: Upload and embed Vimeo videos directly inside lessons, posts, and pages without leaving WordPress.
  • Keep Clients & Authors Out of Your Vimeo Account: Let team members upload videos from WordPress into your Vimeo account without ever handing over your master Vimeo password.
  • In-Dashboard Vimeo Library & Privacy Controls: Browse your Vimeo videos, set privacy permissions (Public, Private, Unlisted, Hide from Vimeo, or specific domains), and insert responsive embeds in seconds.

Upvimeo Free also includes Vimeo folder selection, video metadata editing, a searchable in-dashboard library, and built-in connection health diagnostics. And because Sensei LMS builds its lessons in the Gutenberg editor, the Upvimeo Block works inside Sensei courses right out of the box.

Using Upvimeo Free with Tutor LMS, LearnDash & Course Builders

Running an online course site? You can start using Upvimeo Free today inside your LMS. Any LMS that lets you edit lesson content with the WordPress editor, including Tutor LMS, LearnDash, LearnPress, and Sensei LMS, can use the Upvimeo Gutenberg Block or the WP Media uploader to drop a Vimeo video straight into a lesson, page, or post. Your videos upload to Vimeo instead of your server, and your students get buffer-free, 4K-ready playback.

When you are ready to automate that workflow, with native video fields built inside the course builder itself and frontend uploads for multiple instructors, Upvimeo Pro turns your site into a hands-off, Udemy-style video marketplace (details below).

Build a Udemy-Style Marketplace with Upvimeo PRO

Upvimeo Pro adds deep, native integrations so instructors, clients, and members can upload course videos themselves, with zero server load and zero access to your Vimeo password:

  • 7 Native LMS Course Builder Integrations: Seamless backend and frontend course-builder integration for Tutor LMS, LearnDash, LearnPress, MasterStudy LMS, Academy LMS, LifterLMS, and Masteriyo.
  • Frontend Instructor Uploads: Let instructors upload massive course videos directly from the frontend LMS dashboard with zero server load, perfect for multi-instructor, Udemy-style marketplaces.
  • Form Builders & Custom Fields Support: Native Vimeo upload fields for Gravity Forms, WPForms, and Advanced Custom Fields (ACF) to build custom frontend video submission portals.
  • Advanced Governance & Folder Routing: Force Vimeo-only uploads, lock privacy settings, control the player and embed appearance, and route uploads into specific Vimeo folders automatically.

Test every Pro feature risk-free with a 14-day free trial, no credit card required.

Get Upvimeo Pro Today!

Legal Disclaimer

Upvimeo is a 3rd-party independent integration tool. It is not affiliated with, endorsed by, or maintained by Vimeo, Inc. “Vimeo” is a registered trademark of Vimeo, Inc.

External Services

This plugin relies on third-party services to function fully.

Vimeo API
This plugin connects to the Vimeo API (https://developer.vimeo.com/ and http://vimeo.com/api) to allow users to authenticate their accounts, upload videos, and fetch video metadata (such as thumbnails and titles).
* Data sent: When fetching a video, the specific Vimeo Video ID is sent to the API. During authentication and uploading, standard OAuth tokens and API keys are transmitted securely.
* Vimeo Terms of Service: https://vimeo.com/terms
* Vimeo Privacy Policy: https://vimeo.com/privacy

UpVimeo API
This plugin connects to our own API (https://upvimeo.com/wp-json/upvupdater/v1/plugins/news) to display the latest plugin news, helpful tutorials, and announcements inside your WordPress dashboard.
* Data sent: This is a standard GET request to fetch text data. No personally identifiable user data or site data is transmitted during this request.
* UpVimeo Terms & Conditions: https://upvimeo.com/terms-and-conditions/
* UpVimeo Privacy Policy: https://upvimeo.com/privacy-policy/

Source Code

In compliance with WordPress.org guidelines, this plugin uses the following third-party libraries and minified/compiled files. Unminified source code is provided as documented below.

  • SweetAlert2 (shared/js/sweetalert2.js): Used for accessible modal popups. No modifications made. Unminified source: https://github.com/sweetalert2/sweetalert2

  • tus-js-client (shared/resources/tus-js-client/tus.js, tus.min.js): Used for resumable video uploads via the TUS protocol. No modifications made. Unminified source: https://github.com/tus/tus-js-client

  • upload-modal.js (shared/js/upload-modal.js): Custom upload modal UI controller. The unminified source is located at shared/js/upload-modal.source.js within this plugin.

Connecting Upvimeo to Vimeo takes about two minutes:

  1. From your WordPress dashboard, go to Plugins > Add New, search for Upvimeo, then click Install Now and Activate. (Or upload the plugin ZIP under Plugins > Add New > Upload Plugin.)
  2. Go to Upvimeo > Settings, where a short guided setup walks you through the connection.
  3. Create a free Vimeo API app, generate an Authenticated access token, and paste your Client ID, Client Secret, and Access Token into the settings. The on-screen guide links you to the exact Vimeo page and lists the scopes to tick (including upload and delete).
  4. Save. Upvimeo confirms the connection instantly, and you can start uploading to Vimeo from the Media Library, the Gutenberg Block, and the Classic Editor.

That’s it, no FTP, no server configuration, and no changes to php.ini.

  1. <strong>Direct-to-Vimeo uploads from the WordPress Media Library</strong> - drag and drop large videos to upload straight to your Vimeo account, bypassing server upload limits.

    Direct-to-Vimeo uploads from the WordPress Media Library - drag and drop large videos to upload straight to your Vimeo account, bypassing server upload limits.

  2. <strong>In-dashboard Vimeo library management</strong> - browse, search, edit, and organize your entire Vimeo video library with folders and quick actions, without leaving WordPress.

    In-dashboard Vimeo library management - browse, search, edit, and organize your entire Vimeo video library with folders and quick actions, without leaving WordPress.

  3. <strong>Vimeo privacy controls on upload</strong> - choose who can watch each video (Public, Private, Unlisted, Hide from Vimeo, or specific domains) right from the upload screen.

    Vimeo privacy controls on upload - choose who can watch each video (Public, Private, Unlisted, Hide from Vimeo, or specific domains) right from the upload screen.

  4. <strong>Upvimeo Gutenberg Block</strong> - search your Vimeo account and embed responsive, 4K-ready videos into posts, pages, and lessons.

    Upvimeo Gutenberg Block - search your Vimeo account and embed responsive, 4K-ready videos into posts, pages, and lessons.

  5. <strong>Tutor LMS video upload integration (Pro)</strong> - upload course videos directly inside the Tutor LMS lesson builder for a streamlined instructor workflow.

    Tutor LMS video upload integration (Pro) - upload course videos directly inside the Tutor LMS lesson builder for a streamlined instructor workflow.

  6. <strong>LearnDash video integration (Pro)</strong> - add Vimeo video content to LearnDash lessons without ever leaving the lesson editor.

    LearnDash video integration (Pro) - add Vimeo video content to LearnDash lessons without ever leaving the lesson editor.

  7. <strong>LearnPress video integration (Pro)</strong> - upload and manage Vimeo videos natively inside the LearnPress curriculum builder.

    LearnPress video integration (Pro) - upload and manage Vimeo videos natively inside the LearnPress curriculum builder.

  8. <strong>LifterLMS video integration (Pro)</strong> - add and manage Vimeo course videos right inside the LifterLMS lesson editor.

    LifterLMS video integration (Pro) - add and manage Vimeo course videos right inside the LifterLMS lesson editor.

  9. <strong>WPForms Vimeo upload field (Pro)</strong> - enable frontend video uploads in WPForms with real-time progress bars and validation.

    WPForms Vimeo upload field (Pro) - enable frontend video uploads in WPForms with real-time progress bars and validation.

How do I fix the WordPress upload_max_filesize or HTTP error when uploading large videos to Vimeo?

Those errors happen because WordPress pushes the file through your server’s PHP process, which has strict size and time limits. Upvimeo skips that entirely: it streams the video from your browser straight to Vimeo using the TUS protocol, so your upload_max_filesize, post_max_size, and PHP timeout settings no longer matter. There is nothing to edit in php.ini.

Can I use Upvimeo for free with Tutor LMS, LearnDash, or LearnPress?

Yes. With the free version you can add Vimeo videos to any lesson, topic, page, or post using the Upvimeo Gutenberg Block or the WP Media uploader inside the editor. For native video fields built directly into each LMS course builder (and frontend instructor uploads), Upvimeo Pro adds dedicated integrations for Tutor LMS, LearnDash, LearnPress, MasterStudy LMS, Academy LMS, LifterLMS, and Masteriyo.

Does uploading a 10GB or 50GB video slow down my WordPress hosting server?

No. The video never passes through your web host. Upvimeo uploads directly from the browser to Vimeo’s servers, so your hosting bandwidth, disk space, and CPU stay untouched, no matter how large the file is.

What happens if my internet disconnects during a large video upload?

Nothing is lost. The TUS resumable protocol remembers exactly how much has uploaded, so when the connection returns Upvimeo picks up right where it left off instead of starting over.

Can instructors or editors upload videos to Vimeo without having my Vimeo login credentials?

Yes, and it is one of the most popular reasons teams use Upvimeo. Team members upload from inside WordPress into your connected Vimeo account without ever seeing your Vimeo email or password. Upvimeo Pro extends this to frontend LMS dashboards so instructors can upload course videos themselves.

Which LMS and form plugins are natively supported in Upvimeo Pro?

Upvimeo Pro includes native course-builder integrations for Tutor LMS, LearnDash, LearnPress, MasterStudy LMS, Academy LMS, LifterLMS, and Masteriyo, plus native Vimeo upload fields for Gravity Forms, WPForms, and Advanced Custom Fields (ACF).

Do I need a paid Vimeo account to use Upvimeo?

You need a Vimeo account with API access and an access token that includes upload permission. A free Vimeo account can connect, but Vimeo enforces its own weekly upload quota and reserves some options (such as certain privacy settings) for paid tiers. For heavy or 4K libraries we recommend a paid Vimeo plan, which Upvimeo fully supports.

Is Upvimeo affiliated with Vimeo?

No. Upvimeo is an independent, third-party integration tool. It is not affiliated with, endorsed by, or maintained by Vimeo, Inc. “Vimeo” is a registered trademark of Vimeo, Inc.

1.7.16

  • New: Added a dismissible 5-star review request notice (shown only to administrators, only on Upvimeo screens, in the free version).
  • Improvement: Rewrote the in-plugin Documentation page with step-by-step Free and Pro guidance covering uploads, library and Trash management, integrations, and troubleshooting.

1.7.15

  • Fix: Restored reliable video deletion — corrected the delete button wiring that could falsely show a “missing delete scope” message even when the Vimeo token had the delete scope.
  • New: Added a Trash workflow for local videos. Deleting a local video now moves it to a Trash tab first (no Vimeo scope required), where you can Restore it or Delete it Permanently (which also removes it from Vimeo).
  • Fix: Bulk delete now works correctly for both local and remote (Vimeo) videos, including the Remote tab, with clear messages for empty selections and permission errors.
  • Fix: Allowed the Trash and Restore actions through the Manage Videos screen router (resolves an “Invalid action” error).
  • Security: Per-video ownership checks (edit/delete capability or administrator) are enforced on every delete, trash, and restore action.

1.7.14

  • Security: Enforced per-video ownership checks (edit_post / manage_options) on embed privacy, embed preset, folder, and domain-whitelist actions to prevent Insecure Direct Object Reference (IDOR) manipulation.
  • Security: Fixed a destructive IDOR in video deletion — ownership is now verified before any Vimeo API call is made.
  • Security: Restricted user search to administrators and limited Vimeo account search results to the current user’s own uploads.
  • Security: Restricted uploader scripts and nonce output (Classic editor and Tutor LMS dashboard) to users who have upload permissions.
  • Security: Hardened log directory protection using WordPress marker management so existing custom .htaccess rules are preserved and the deny block is reliably applied.
  • Fix: Corrected status sync so the first video is no longer skipped.
  • Fix: Guarded against accidental library deletion by verifying the connected Vimeo account and requiring repeated 404s before removing a local video.
  • Performance: Metadata sync now runs daily and fetches incrementally to reduce load on shared hosting.

1.7.13

  • Fix: Resolved an out-of-memory fatal error during metadata sync for accounts with large video libraries.
  • Security: Hardened debug log storage with dynamic filenames and strict Apache/Nginx access denial to prevent information disclosure.
  • Performance: Optimized log writer to append data directly, reducing I/O and memory overhead.
  • Fix: Resolved an issue where chunked frontend uploads failed on third-party form integrations due to strict path validation.

1.7.12

  • Fix: Resolved missing Composer vendor dependencies (symfony, guzzlehttp) on fresh installations.

1.7.11

  • Security: Upgraded Freemius SDK to 2.13.5 to patch XSS vulnerabilities.

1.7.10

  • Fix: Resolved an issue where the Free version wasn’t automatically deactivating when installing Pro.

1.7.9

  • Feature: Added an option to safely delete all plugin data when you uninstall it.

1.7.8

  • Fix: Improved smooth transition when upgrading from Free to Pro.

1.7.7

  • Enhancement: Improved compatibility with various plugins and themes by adding strict function and class existence checks to prevent fatal errors.
  • Fix: Under-the-hood stability and performance improvements.

1.7.6

  • Security: Patched potential DOM-based XSS vulnerability in MasterStudy and Academy LMS integrations by refactoring button injection to use safe DOM node construction.
  • Security: Fixed Broken Access Control in AJAX handlers where execution did not halt on authorization failures.
  • Security: Prevented SSRF by switching to wp_safe_remote_request() for Vimeo API calls.
  • Security: Improved input validation for $_GET['page'] and attachment_id parameters.
  • Security: Added explicit Nonce checking in all LMS integration loaders (LifterLMS, Masteriyo, MasterStudy, Academy) and securely passed ajax_url via localized scripts.
  • Security: Sanitized error messages outputted from Vimeo API responses to prevent Reflected/Stored XSS.

1.7.5

  • Feature: Introduced MasterStudy LMS Integration. Seamlessly upload and manage Vimeo videos directly inside your MasterStudy lessons and course builder.
  • Enhancement: Ensure proper UI alignment and UX for the upload video button next to Vimeo input fields in MasterStudy.

1.7.4

  • Feature: Introduced Academy LMS Integration.
  • Enhancement: Automatically calculate and populate “Video Playback Time” for Academy LMS lessons upon Vimeo upload, completely bypassing external API delays and 404 errors for processing videos.
  • Tweak: Improved styling and spacing for the Upvimeo upload button within the Academy LMS course builder interface.

1.7.3

  • Fix: Fixed Gutenberg block styles not loading correctly in the editor iframe.
  • Fix: Re-hooked block registration to init to ensure WordPress standards compliance.
  • Fix: Restored Dashicons dependency for block editor UI.

1.7.2

  • Feature: Added Masteriyo integration. Seamlessly upload and manage Vimeo videos directly inside your Masteriyo lessons.

1.7.1

  • Feature: Added LifterLMS integration. Seamlessly upload and manage Vimeo videos directly inside your LifterLMS lessons.

1.7.0

  • Feature: Added LearnPress integration. Seamlessly upload and manage Vimeo videos directly inside your LearnPress lessons.

1.6.32

  • Update: Changed Text Domain to upvimeo-direct-uploads for WP.org compliance.

1.6.31

  • Refactor: Removed local asset overrides to natively rely on the Freemius API for product branding.

1.6.29

  • Fix: Hardened native WordPress update logo injection to guarantee trailing slashes via plugin_dir_url().

1.6.28

  • Enhancement: Bypassed API cache to enforce local logo rendering for native WordPress update screens.

1.6.27

  • Enhancement: Bypassed API cache to enforce local logo rendering for Freemius pricing page and WordPress sidebar.

1.6.26

  • Security: Added strict path traversal validation to chunked video uploads. Fix: Purged unpermitted vendor shell scripts from the distribution archive.

1.6.25

  • Fix: Adopted official WP.org recommended display name (‘Upvimeo — Direct Uploads for Vimeo’) and slug structure to comply with directory trademark guidelines, while verifying full compatibility with WordPress 7.0.

1.6.23

  • Maintenance: Updated Freemius SDK to version 2.13.4 for improved stability and security.

1.6.22

Fix: Physically extracted the final residual trialware string from the settings helper to ensure 100% compliance with WP.org automated repository scanners.

1.6.21

Fix: Synchronized and updated ‘Tested up to’ (7.0) and ‘Requires PHP’ (7.4) headers across main plugin file and readme for full WP.org directory compliance.

1.6.20

Fix: Finalized strict CSS/DOM namespace isolation and completely extracted residual premium option strings from Free core logic to comply with WP.org automated scanners.

1.6.19

  • Maintenance: Normalized file line endings for strict PHPCS compliance and optimized internal file segregation.

1.6.18

  • Fix: Migrated all premium integrations to a hard file-segregation architecture to guarantee 100% physical codebase compliance with WP.org guidelines.

1.6.17

  • Fix: Restructured internal Freemius compiler tags to guarantee 100% physical extraction of premium code from the Free distribution.

1.6.16

  • Fix: Physically stripped remaining premium-only frontend configuration settings and UI elements from the free distribution to strictly comply with WP.org Trialware guidelines.

1.6.15

  • Maintenance: Updated Freemius SDK to version 2.13.3 for improved compatibility and security.

1.6.14

  • Fix: Unified AJAX capability routing to resolve Guest/Subscriber permission conflicts and enforced unconditional database cleanup upon uninstallation.

1.6.13

  • Fix: Implemented context-aware AJAX capability routing for frontend/backend uploads and finalized trialware data isolation.

1.6.12

  • Security hardening of chunk-upload routing endpoints and complete extraction of unused frontend option configurations from the core dashboard.

1.6.11

  • Fix: Removed non-functional frontend upload UI settings from the free dashboard to comply with WP.org Trialware guidelines.

1.6.10

  • Fix: Excluded development testing scripts (install-wp-tests.sh) from the distribution package to comply with WP.org repository guidelines.

1.6.9

  • Security: Added late escaping for view helpers.
  • Fix: Enforced strict JavaScript and DOM prefixing for WP.org compliance.
  • Fix: Corrected Freemius logic stripping integration.

1.6.8

  • Fix: Aligned plugin header names to resolve WP.org Plugin Check (PCP) mismatch warning.

1.6.7

  • Security hardening and refactored naming architecture.

1.6.6

  • Feature: Added a new setting “Force Vimeo Only” for Tutor LMS. When enabled, it locks the lesson video source to Vimeo and displays a “This platform uploads to Vimeo only” message, streamlining the instructor upload experience.

1.6.5

  • Fix: Resolved Composer autoloader fatal error by restoring required production polyfills (symfony/polyfill-mbstring and related packages) that were incorrectly stripped by over-broad .distignore rules.

1.6.4

  • Security: Wrapped shortcode output in wp_kses() with explicit iframe allow-list (XSS hardening).
  • Security: Updated SweetAlert2 from v11.1.4 to v11.26.25.
  • Fix: Changed admin menu position from 5 to 85 to avoid conflicts with core WordPress menu items.
  • Refactor: Added upvimeo_video as canonical shortcode tag; old tags (upv_vimeo_video, vimeo_video, UPVIMEO_vimeo_video) kept as deprecated backward-compat aliases.
  • Build: Hardened .distignore and .gitattributes to strip all dev-only Composer packages from distribution builds.
  • Build: Added upload-modal.source.js documentation to == Source Code == section.

1.6.3

  • Compatibility: Tested and verified compatible with WordPress 7.0 “Armstrong”.
  • Maintenance: Updated Tested up to header to 7.0 to reflect verified compatibility.

1.6.2

  • Build: Hardened .distignore to exclude shell scripts (*.sh) and vendor package test/dev artifacts (tests, .github, docs, phpunit configuration, composer files) from the WordPress.org distribution build. Resolves wp.org rejection caused by .sh fixtures inside third-party Composer dependencies (squizlabs/php_codesniffer, symfony/mime).

1.6.1

  • Security: OWASP Top 10 audit — fixed SSRF vulnerability in Vimeo thumbnail fetching by enforcing HTTPS and validating CDN hostnames before any outbound request.
  • Security: Patched path traversal risk in chunk-upload file removal; realpath() bounds check now confirms the target file stays inside the tmp directory.
  • Security: Fixed authentication-check order in all chunk-upload AJAX handlers — current_user_can() now runs before nonce verification and input parsing.
  • Security: Temporary upload directory now creates an index.html guard on first access to prevent directory listing.
  • Security: Added esc_url() and absint() escaping to Vimeo link and attachment IDs in the media library helper (XSS hardening).
  • Security: Removed <script> tag from wp_kses allowed HTML list in admin class.
  • Fix: Removed ob_start() / ob_get_clean() bootstrap wrapper that silently swallowed PHP errors and warnings during plugin load.
  • Fix: Implemented full upvimeo_fs_uninstall_cleanup() — plugin now correctly deletes all options, upvimeo-upload posts, and transients on uninstall.
  • Fix: UPVIMEO_MIN_PHP_VERSION constant corrected from 7.3.0 to 7.4.0 to match the Requires PHP header declaration.
  • Fix: wp_die() message on missing vendor dependencies is now escaped with esc_html__() and translatable.
  • Fix: Replaced current_user_can('administrator') (role name) with current_user_can('manage_options') (capability) per WordPress coding standards.
  • Fix: Removed double json_encode() wrapping inside wp_send_json_success() in the attachment-delete AJAX handler.
  • Fix: Added public visibility modifier to plugin_action_links() method in the admin class.
  • Build: Removed Update URI plugin header to eliminate WP.org Plugin Check (PCP) plugin_updater_detected error; Freemius SDK handles Pro updates independently.
  • Build: Updated .distignore and .gitattributes with a comprehensive exclusion list to strip all development artifacts from distribution builds.

1.6.0

  • Fix: Addressed persistent 403 “Sorry, you are not allowed to access this page” error by restoring native Freemius capability routing.
  • Refactor: Replaced destructive menu unsetting techniques with non-intrusive CSS/JS UI manipulation to safely hide duplicate pricing tabs.

1.5.9

  • Fix: Resolved fatal error (TypeError: urlencode()) by removing invalid custom redirect logic for the Freemius trial banner.
  • Fix: Natively corrected the Freemius trial banner 403 error by enabling proper pricing menu registration in the SDK configuration.

1.5.8

  • Fix: Resolved WordPress.org Plugin Check (PCP) deployment failure by excluding hidden files from build.
  • Fix: Suppressed broken Freemius trial UI banner preventing 403 errors.

1.5.7

  • Security: Comprehensive security audit, fortified AJAX endpoints with strict capability checks and nonces.
  • Security: Enhanced SQL injection protection by strictly enforcing $wpdb->prepare for database interactions.
  • Security: Implemented strict late-escaping guidelines via wp_kses_post and native HTML esc_ functions for all outputs.
  • Enhancement: Optimized deployment configuration by refining .distignore and Freemius Update URI logic for repository compliance.

1.5.6

  • Fix: Resolved a fatal Server Error (TypeError: ftp_pwd()) during WP-Cron or CLI headless executions by safely refactoring directory verification logic.

1.5.5

  • Fix: Corrected the SDK inclusion path to utilize the updated Composer package instead of a legacy directory.

1.5.3

  • Fix: Resolved a minor bug.

1.5.2

  • Feature: Added 14-day free trial configuration without upfront payment requirement.

1.5.1

  • Enhancement: Minor deployment configuration updates to exclude composer.lock from the final build.

1.5.0

  • Security: Added comprehensive CSRF protection with strict Nonce verification across all AJAX and form handlers.
  • Security: Fortified data processing with strict unslashing and sanitization for all global inputs ($_POST, $_GET, $_FILES) to prevent Stored XSS vulnerabilities.
  • Security: Enhanced output escaping for frontend views, HTML attributes, and Exception messages to prevent Reflected XSS.
  • Bug Fix: Resolved an issue where uploaded videos incorrectly defaulted to “Embed Anywhere” instead of accurately inheriting the user’s specific Vimeo privacy presets (e.g., “Specific domains”).
  • Refactor: Prefixed global variables (e.g., $upvimeo_option, $upvimeo_content) to prevent namespace collisions with WordPress core and third-party plugins/themes.
  • Refactor: Migrated native PHP rename() operations to the standard WP_Filesystem::move() API for improved cross-server compatibility.
  • Cleanup: Removed deprecated Freemius Update URI headers to ensure WordPress.org repository compliance.
  • Cleanup: Standardized line endings to LF across all files and removed residual debugging code (print_r(), error_log()).

1.4.12

  • Fix: Resolved “No PHP code was found” PHPCS warning by adding standard Silence is golden string to empty PHP file.
  • Security: Comprehensive security and compliance audit resolving remaining WordPress.org Plugin Check (PCP) violations.
  • Security: Fortified file inclusion with ABSPATH checks and replaced native filesystem functions with WP_Filesystem API.
  • Security: Enhanced Freemius Pro build separation using explicit premium file exclusion tags.
  • Security: Resolved late escaping, CSRF nonce verification, and missing input sanitization warnings across AJAX handlers and integrations.

1.4.11

  • Refactor: Eliminated un-prefixed global variables in template partials for compliance with WordPress coding standards.
  • Refactor: Refactored data passing to use the load_template() $args parameter natively.
  • Refactor: Prefixed all local variables across admin and public partials with $upvimeo_ to prevent namespace conflicts.

1.4.10

  • Fix: Repaired the custom Upvimeo promotional banner on the ‘Add Plugins’ screen by correcting the broken image source and updating the “Read Setup Guide” target URL.
  • Fix: Fixed broken Upvimeo logo paths on the Settings and Library Upload admin pages by dynamically generating properly escaped URLs.
  • Fix: Prevented WP Rocket and other caching plugins from lazy-loading Upvimeo logos on admin pages which caused them to appear broken.

1.4.9

  • Enhancement: Upgraded Freemius SDK to version 2.13.1.
  • Fix: Addressed an issue where the Upvimeo admin menu icon disappeared by directly embedding a base64 encoded SVG asset.

1.4.8

  • Enhancement: Optimized build process for WordPress.org repository compliance.
  • Enhancement: Updated Freemius SDK configuration for standard Free/Pro distributions.
  • Refactor: Moved SweetAlert2 library to the shared assets directory matching WP best practices.
  • Fix: Updated .distignore to properly exclude development artifacts from distribution builds.

1.4.7

  • Fix: Resolved undefined method error for is_account_tier_free check.
  • Refactor: Updated Vimeo API checks to comply with WP.org guidelines.
  • Refactor: Improved prefixing guidelines implementation.
  • Fix: Resolved Upload Icon Bug (SyntaxError: Identifier ‘fields’ has already been declared).
  • Fix: Fixed HTML Comment Issue behind the “upload new” button.
  • Refactor: Enhanced WordPress late-escaping guidelines compliance.
  • Refactor: Optimized $_FILES iteration to prevent unintended processing.
  • Refactor: Upgraded sanitization and escaping for superglobals ($_SERVER, $_REQUEST, $_POST, $_FILES).
  • Fix: Handled Video Upload Errors (403 Forbidden on AJAX request).

1.4.6

  • Fix: Addressed an orphaned admin_footer hook causing a fatal error in the admin dashboard.
  • Fix: Resolved an issue where the Freemius Account page displayed “Free version” despite having an active Pro plan by dynamically checking the UPVIMEO_IS_PRO constant.

1.4.5

  • Fix: Resolved the black screen issue and missing titles in the video editor.
  • Fix: Fixed WPCS Regressions resulting in “Visible Code” bugs and missing UI elements.
  • Fix: Addressed an “Undefined variable $dir” error in helpers.php.
  • Fix: Fixed a fatal error in the pricing page by removing invalid Freemius SDK calls.
  • Security: Ensured proper Freemius Pro feature validation and implemented fallback UI for expired licenses.
  • Refactor: Global clean-up removing development artifacts and prefixing variables.
  • Refactor: Modernized Welcome Screen with a new Hero Banner layout and conditional Free/Pro CTAs.
  • Maintenance: Fixed automated plugin scan issues including load_plugin_textdomain and readme metadata.

1.4.4

  • Fix: Resolved UI alignment issues and corrected CSS flex layouts for the admin Welcome / Setup instructions card.

1.4.3

  • Security: Comprehensive WordPress Coding Standards (WPCS) audit and fixes across the entire codebase.
  • Prefixing: Ensured all global variables, functions, and hooks are properly prefixed with upvimeo_.
  • I18n: Added missing text domains and translator comments for improved localization.
  • System: Replaced native unlink() with WordPress-standard wp_delete_file() for better file system handling.
  • Integrations: Hardened security checks (Nonce verification) and data sanitization for ACF, Gravity Forms, WPForms, and Custom Forms.

1.4.2

  • Fix: Removed Update URI to comply with WordPress.org guidelines.
  • Fix: Resolved Author URI mismatch issue for directory submission.
  • Refactor: Separated Pro features (including Freemius SDK) into a dedicated folder strictly for the Premium version.
  • Optimization: Cleaned up unnecessary development artifacts from the main plugin distribution.

1.4.1

  • Enhancement: Updated Gravity Forms upload field with modern UI (Drag & Drop, Progress Bar).
  • Security: Hardened input sanitization for form integrations.

1.4.0

  • Security: Comprehensive audit; hardened sanitization and SQL query preparation.
  • Performance: Implemented database query caching.

1.3.9

  • New: Completely redesigned WPForms upload field with a modern, card-style UI.
  • Improvement: Added real-time upload percentage display.
  • Improvement: Enhanced progress bar visualization and spacing.
  • Fix: Resolved issue with progress bar visibility on some themes.
  • Fix: Refined Gravity Forms upload field styling (Modern UI, clean container).
  • Fix: Fixed LearnDash upload modal progress bar percentage visibility.

1.3.8

  • FIX: Refined Gravity Forms upload field styling (Modern UI, white card, blue button).
  • FIX: Refined WPForms upload field styling (Modern UI, white card, blue button).
  • FIX: Removed green checkmark circle from success state in both Gravity Forms and WPForms.
  • FIX: Improved success UI (progress bar turns green on complete).
  • FIX: Fixed LearnDash upload modal progress bar percentage visibility/positioning.

1.3.7

  • Fix: LearnDash Integration: Resolved issue where video URL was saved as a player.vimeo.com link instead of the standard vimeo.com format, ensuring correct embed rendering.

1.3.6

  • Fix: Elementor Compatibility: Resolved “Infinite Loading” loop in Elementor Editor by implementing comprehensive safety guards across all integrations (TutorLMS, LearnDash, Gravity Forms, WPForms, ACF).
  • Fix: Performance: Prevented heavy upload scripts from loading in Elementor Editor to improve performance and stability.

1.3.5

  • Enhancement: Gravity Forms UI Modernization: Completely refreshed the upload field with a clean container, smooth gradient progress bar, and animated success checkmark.
  • Fix: TUS Upload Reliability: Implemented synchronous upload fallback for Gravity Forms to resolve background process failures on certain hosts (localhost/staging).
  • Fix: License Validation: relaxed strict Pro license checks to allow smoother uploads on local development environments.
  • Maintenance: Removed legacy debug logging for better performance and security.

1.3.4

  • Enhancement: LearnDash Integration: Automatically inserts video URL into “Video URL” field after upload.
  • Fix: Privacy Conflict: Resolved issue where “Hide from Vimeo” videos displayed as empty windows by enabling embed permissions.
  • Fix: LMS Compatibility: Updated URL format to player.vimeo.com for better LMS preview compatibility.
  • Enhancement: UI/UX: Improved Upload Modal responsiveness and styling for a modern look.
  • Security: Verified upload handling and privacy permission logic.

1.3.3

  • Security: Fixed potential XSS in admin settings by sanitizing output.
  • Security: Enhanced input validation and JSON handling in AJAX actions.

1.3.2

  • Fix: Resolved “Infinite Loading” loop in Elementor Editor by adding robust safety guards.
  • Fix: Resolved “Access Denied” error on Pricing/Account pages for Pro users.
  • Fix: Resolved potential PHP fatal error in admin class regarding db_helper.
  • Security: Comprehensive OWASP Top 10 security audit and validation.

1.3.0

  • New: Brand New Welcome Experience: Completely redesigned Setup Guide with enhanced visuals and clearer instructions.
  • Enhancement: Modernized UI: Major design updates to the “Upgrade to Pro” page, giving it a premium look and feel.
  • Fix: Upgrade Page Loading: Resolved an issue where pricing tables would sometimes fail to load on the Free version.
  • Enhancement: Logo & Branding: Improved Upvimeo logo visibility and positioning across the admin dashboard.
  • Enhancement: Button UX: Refined button sizing and hit areas for a better user experience on high-DPI screens.
  • Fix: Minor CSS adjustments for better compatibility with third-party admin themes.

1.2.13

  • Enhancement: Improved Admin Dashboard stability and menu performance.
  • Enhancement: Optimized admin menu structure for a cleaner, more professional workspace.
  • Enhancement: Redesigned the Welcome / Setup banner for better responsiveness on smaller screens.
  • Fix: Resolved minor UI inconsistencies in the settings area.

1.2.12

  • Fix: Resolved CSS loading consistency on the Account page.
  • Fix: Improved layout rendering for Account Details header.

1.2.11

  • Fix: TutorLMS integration – fixed progress bar visibility issue.

1.2.10

  • Fix: TutorLMS integration – automated field visibility interactions.

1.2.9

  • Enhancement: Major UI Overhaul: Modernized User Interface with card-based design and improved typography.
  • Security: Comprehensive security audit and hardening (OWASP standards).
  • Enhancement: Improved handling of Vimeo domain fetching for various plan types.

1.2.8

  • Enhancement: Modernized Gutenberg block UI.
  • Fix: Improved TUS protocol stability for large files.

1.2.7

  • Security: Admin interface hardening and escaping verification.
  • Security: Enhanced API error handling.

1.2.6

  • Enhancement: Complete Admin Interface refresh.
  • Enhancement: Gravity Forms UI improvements.
  • Fix: Admin menu positioning fixes.

1.2.4

  • Fix: WPForms success message race condition resolved.
  • Stability: Process Manager optimization.

1.2.3

  • Enhancement: WPForms styling updates.
  • Fix: Builder rendering improvements.

1.2.0

  • Enhancement: Unified Account management interface.
  • Fix: Menu structure optimization.

1.0.0

  • Initial Release.
Back to top