{"id":317455,"date":"2026-07-24T13:03:14","date_gmt":"2026-07-24T13:03:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/upvimeo-direct-vimeo-uploads-privacy-pro-integrations\/"},"modified":"2026-07-24T14:34:32","modified_gmt":"2026-07-24T14:34:32","slug":"upvimeo-direct-uploads","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/upvimeo-direct-uploads\/","author":23451469,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.34","stable_tag":"1.6.34","tested":"7.0.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Upvimeo \u2014 Direct Uploads for Vimeo","header_author":"Upvimeo","header_description":"Upload videos directly to Vimeo from WordPress, bypassing server limits. Features privacy controls, folder management, and Pro integrations for LearnDash, TutorLMS, Gravity & WPForms.","assets_banners_color":"6c9ed7","last_updated":"2026-07-24 14:34:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/upvimeo.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":51,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.6.34":{"tag":"1.6.34","author":"upvimeo","date":"2026-07-24 14:34:32"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3621436,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3621449,"resolution":"256x256","location":"assets","locale":"","width":300,"height":300}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3621436,"resolution":"1544x500","location":"assets","locale":"","width":3318,"height":1264}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.6.34"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3621246,"resolution":"1","location":"assets","locale":"","width":2888,"height":2046},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3621246,"resolution":"2","location":"assets","locale":"","width":2888,"height":2046},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3621246,"resolution":"3","location":"assets","locale":"","width":2888,"height":2046},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3621246,"resolution":"4","location":"assets","locale":"","width":2888,"height":2046}},"screenshots":{"1":"<strong>Seamless Direct Uploads:<\/strong> Drag and drop videos right into the WordPress Media Library to upload instantly to your Vimeo account.","2":"<strong>Dedicated Library Management:<\/strong> Organize, edit, and manage your entire Vimeo video library with folders and quick actions inside WordPress.","3":"<strong>Advanced Privacy Settings:<\/strong> Control who can see your videos (Public, Private, Domain-restricted) directly from the upload screen.","4":"<strong>Gutenberg Block:<\/strong> Easily search and embed your Vimeo videos into posts and pages with the dedicated block.","5":"<strong>Tutor LMS Integration (Pro):<\/strong> Upload course videos directly within the Tutor LMS lesson builder for a streamlined workflow.","6":"<strong>LearnDash Integration (Pro):<\/strong> Add video content to your LearnDash lessons without ever leaving the lesson editor.","7":"<strong>WPForms Field (Pro):<\/strong> Enable frontend video uploads in WPForms with real-time progress bars and validation.","8":"<strong>Gravity Forms Field (Pro):<\/strong> Let users submit videos via Gravity Forms with a modern, drag-and-drop upload field.","9":"<strong>ACF Integration (Pro):<\/strong> Add Vimeo video fields to any custom post type using Advanced Custom Fields."}},"plugin_section":[],"plugin_tags":[10796,207392,47091,1609,273162],"plugin_category":[56],"plugin_contributors":[78154,273163],"plugin_business_model":[],"class_list":["post-317455","plugin","type-plugin","status-publish","hentry","plugin_tags-learndash","plugin_tags-tutorlms","plugin_tags-video-upload","plugin_tags-vimeo","plugin_tags-vimeo-integration","plugin_category-social-and-sharing","plugin_contributors-freemius","plugin_contributors-upvimeo","plugin_committers-upvimeo"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/upvimeo-direct-uploads\/assets\/icon-128x128.gif?rev=3621436","icon_2x":"https:\/\/ps.w.org\/upvimeo-direct-uploads\/assets\/icon-256x256.png?rev=3621449","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/upvimeo-direct-uploads\/assets\/screenshot-1.jpg?rev=3621246","caption":"<strong>Seamless Direct Uploads:<\/strong> Drag and drop videos right into the WordPress Media Library to upload instantly to your Vimeo account."},{"src":"https:\/\/ps.w.org\/upvimeo-direct-uploads\/assets\/screenshot-2.jpg?rev=3621246","caption":"<strong>Dedicated Library Management:<\/strong> Organize, edit, and manage your entire Vimeo video library with folders and quick actions inside WordPress."},{"src":"https:\/\/ps.w.org\/upvimeo-direct-uploads\/assets\/screenshot-3.jpg?rev=3621246","caption":"<strong>Advanced Privacy Settings:<\/strong> Control who can see your videos (Public, Private, Domain-restricted) directly from the upload screen."},{"src":"https:\/\/ps.w.org\/upvimeo-direct-uploads\/assets\/screenshot-4.jpg?rev=3621246","caption":"<strong>Gutenberg Block:<\/strong> Easily search and embed your Vimeo videos into posts and pages with the dedicated block."}],"raw_content":"<!--section=description-->\n<p><strong>The Professional Uploader for Vimeo on WordPress.<\/strong><\/p>\n\n<p>Upvimeo is a powerful 3rd-party video publishing command center designed specifically for Vimeo. Say goodbye to <strong><code>upload_max_filesize<\/code><\/strong> errors, server timeouts, and FTP headaches.<\/p>\n\n<p>Whether you are a <strong>Course Creator<\/strong>, <strong>Agency<\/strong>, or <strong>Video Professional<\/strong>, Upvimeo provides the enterprise-grade infrastructure you need to manage Vimeo content seamlessly.<\/p>\n\n<h3>\ud83c\udf1f Why Professionals Choose Upvimeo?<\/h3>\n\n<p>Most plugins rely on your server's limited PHP process to upload files, causing crashes with large videos. <strong>Upvimeo is different.<\/strong> We utilize the advanced <strong>TUS Resumable Upload Protocol<\/strong>\u2014the same technology powering Vimeo itself\u2014to stream data directly from your browser to the cloud.<\/p>\n\n<ul>\n<li><strong>\ud83d\ude80 Upload Unlimited Sizes:<\/strong> Push 5GB, 20GB, or 50GB files seamlessly, bypassing all server limits (2MB\/50MB).<\/li>\n<li><strong>\u26a1 Zero Server Load:<\/strong> Your hosting bandwidth is untouched. Video data flies directly to Vimeo at maximum speed.<\/li>\n<li><strong>\ud83d\udee1\ufe0f Unbreakable Uploads:<\/strong> Network drop? No problem. Upvimeo automatically pauses and resumes uploads exactly where they left off.<\/li>\n<\/ul>\n\n\n\n<h3>\ud83c\udfac Free: The Essential Video Suite<\/h3>\n\n<ul>\n<li><strong>Direct-to-Vimeo Engine:<\/strong> Upload from the Media Library, Gutenberg, or Classic Editor.<\/li>\n<li><strong>Seamless Privacy:<\/strong> Set \"Who can watch?\" (Anyone, Only Me, Hide from Vimeo) instantly.<\/li>\n<li><strong>Smart Library:<\/strong> Create folders and organize projects without leaving WordPress.<\/li>\n<li><strong>Perfect Embeds:<\/strong> Standardized, responsive 4K embedding via the Upvimeo Block.<\/li>\n<li><strong>Connection Health:<\/strong> Built-in diagnostics for your API connection.<\/li>\n<\/ul>\n\n\n\n<h3>\ud83d\ude80 Pro Features<\/h3>\n\n<p>Need to integrate with form builders and LMS systems? Consider upgrading to unlock advanced field integrations:<\/p>\n\n<ul>\n<li><strong>LearnDash &amp; TutorLMS:<\/strong> Upload lesson videos directly inside the course builders.<\/li>\n<li><strong>Gravity Forms &amp; WPForms:<\/strong> Frontend drag-and-drop upload fields with real-time progress bars.<\/li>\n<li><strong>ACF Integration:<\/strong> Add robust video fields to any Post Type.<\/li>\n<\/ul>\n\n\n\n<h3>\u2696\ufe0f Legal Disclaimer<\/h3>\n\n<p><strong>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.<\/strong><\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin relies on third-party services to function fully.<\/p>\n\n<p><strong>Vimeo API<\/strong>\nThis 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). \n* 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.\n* Vimeo Terms of Service: https:\/\/vimeo.com\/terms\n* Vimeo Privacy Policy: https:\/\/vimeo.com\/privacy<\/p>\n\n<p><strong>UpVimeo API<\/strong>\nThis 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.\n* 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.\n* UpVimeo Terms &amp; Conditions: https:\/\/upvimeo.com\/terms-and-conditions\/\n* UpVimeo Privacy Policy: https:\/\/upvimeo.com\/privacy-policy\/<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>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.<\/p>\n\n<ul>\n<li><p>SweetAlert2 (shared\/js\/sweetalert2.js): Used for accessible modal popups. No modifications made. Unminified source: https:\/\/github.com\/sweetalert2\/sweetalert2<\/p><\/li>\n<li><p>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<\/p><\/li>\n<li><p>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.<\/p><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Search for \"Upvimeo\" in your WordPress Plugins dashboard.<\/li>\n<li>Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong>.<\/li>\n<li>Navigate to <strong>Upvimeo &gt; Settings<\/strong>.<\/li>\n<li>Follow the secure connection wizard to link your Vimeo account.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20really%20bypass%20my%20hosting%20upload%20limit%3F\"><h3>Does this really bypass my hosting upload limit?<\/h3><\/dt>\n<dd><p>Yes. By using the TUS protocol, files are streamed from your browser directly to Vimeo. Your server's <code>upload_max_filesize<\/code> setting is irrelevant.<\/p><\/dd>\n<dt id=\"can%20i%20allow%20users%20to%20upload%20videos%3F\"><h3>Can I allow users to upload videos?<\/h3><\/dt>\n<dd><p>Yes! The Pro version includes native fields for Gravity Forms and WPForms for secure frontend submissions.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.32<\/h4>\n\n<ul>\n<li>Update: Changed Text Domain to upvimeo-direct-uploads for WP.org compliance.<\/li>\n<\/ul>\n\n<h4>1.6.31<\/h4>\n\n<ul>\n<li>Refactor: Removed local asset overrides to natively rely on the Freemius API for product branding.<\/li>\n<\/ul>\n\n<h4>1.6.29<\/h4>\n\n<ul>\n<li>Fix: Hardened native WordPress update logo injection to guarantee trailing slashes via plugin_dir_url().<\/li>\n<\/ul>\n\n<h4>1.6.28<\/h4>\n\n<ul>\n<li>Enhancement: Bypassed API cache to enforce local logo rendering for native WordPress update screens.<\/li>\n<\/ul>\n\n<h4>1.6.27<\/h4>\n\n<ul>\n<li>Enhancement: Bypassed API cache to enforce local logo rendering for Freemius pricing page and WordPress sidebar.<\/li>\n<\/ul>\n\n<h4>1.6.26<\/h4>\n\n<ul>\n<li>Security: Added strict path traversal validation to chunked video uploads. Fix: Purged unpermitted vendor shell scripts from the distribution archive.<\/li>\n<\/ul>\n\n<h4>1.6.25<\/h4>\n\n<ul>\n<li>Fix: Adopted official WP.org recommended display name ('Upvimeo \u2014 Direct Uploads for Vimeo') and slug structure to comply with directory trademark guidelines, while verifying full compatibility with WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>1.6.23<\/h4>\n\n<ul>\n<li>Maintenance: Updated Freemius SDK to version 2.13.4 for improved stability and security.<\/li>\n<\/ul>\n\n<h4>1.6.22<\/h4>\n\n<p>Fix: Physically extracted the final residual trialware string from the settings helper to ensure 100% compliance with WP.org automated repository scanners.<\/p>\n\n<h4>1.6.21<\/h4>\n\n<p>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.<\/p>\n\n<h4>1.6.20<\/h4>\n\n<p>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.<\/p>\n\n<h4>1.6.19<\/h4>\n\n<ul>\n<li>Maintenance: Normalized file line endings for strict PHPCS compliance and optimized internal file segregation.<\/li>\n<\/ul>\n\n<h4>1.6.18<\/h4>\n\n<ul>\n<li>Fix: Migrated all premium integrations to a hard file-segregation architecture to guarantee 100% physical codebase compliance with WP.org guidelines.<\/li>\n<\/ul>\n\n<h4>1.6.17<\/h4>\n\n<ul>\n<li>Fix: Restructured internal Freemius compiler tags to guarantee 100% physical extraction of premium code from the Free distribution.<\/li>\n<\/ul>\n\n<h4>1.6.16<\/h4>\n\n<ul>\n<li>Fix: Physically stripped remaining premium-only frontend configuration settings and UI elements from the free distribution to strictly comply with WP.org Trialware guidelines.<\/li>\n<\/ul>\n\n<h4>1.6.15<\/h4>\n\n<ul>\n<li>Maintenance: Updated Freemius SDK to version 2.13.3 for improved compatibility and security.<\/li>\n<\/ul>\n\n<h4>1.6.14<\/h4>\n\n<ul>\n<li>Fix: Unified AJAX capability routing to resolve Guest\/Subscriber permission conflicts and enforced unconditional database cleanup upon uninstallation.<\/li>\n<\/ul>\n\n<h4>1.6.13<\/h4>\n\n<ul>\n<li>Fix: Implemented context-aware AJAX capability routing for frontend\/backend uploads and finalized trialware data isolation.<\/li>\n<\/ul>\n\n<h4>1.6.12<\/h4>\n\n<ul>\n<li>Security hardening of chunk-upload routing endpoints and complete extraction of unused frontend option configurations from the core dashboard.<\/li>\n<\/ul>\n\n<h4>1.6.11<\/h4>\n\n<ul>\n<li>Fix: Removed non-functional frontend upload UI settings from the free dashboard to comply with WP.org Trialware guidelines.<\/li>\n<\/ul>\n\n<h4>1.6.10<\/h4>\n\n<ul>\n<li>Fix: Excluded development testing scripts (<code>install-wp-tests.sh<\/code>) from the distribution package to comply with WP.org repository guidelines.<\/li>\n<\/ul>\n\n<h4>1.6.9<\/h4>\n\n<ul>\n<li>Security: Added late escaping for view helpers.<\/li>\n<li>Fix: Enforced strict JavaScript and DOM prefixing for WP.org compliance.<\/li>\n<li>Fix: Corrected Freemius logic stripping integration.<\/li>\n<\/ul>\n\n<h4>1.6.8<\/h4>\n\n<ul>\n<li>Fix: Aligned plugin header names to resolve WP.org Plugin Check (PCP) mismatch warning.<\/li>\n<\/ul>\n\n<h4>1.6.7<\/h4>\n\n<ul>\n<li>Security hardening and refactored naming architecture.<\/li>\n<\/ul>\n\n<h4>1.6.6<\/h4>\n\n<ul>\n<li>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.<\/li>\n<\/ul>\n\n<h4>1.6.5<\/h4>\n\n<ul>\n<li>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.<\/li>\n<\/ul>\n\n<h4>1.6.4<\/h4>\n\n<ul>\n<li>Security: Wrapped shortcode output in <code>wp_kses()<\/code> with explicit iframe allow-list (XSS hardening).<\/li>\n<li>Security: Updated SweetAlert2 from v11.1.4 to v11.26.25.<\/li>\n<li>Fix: Changed admin menu position from 5 to 85 to avoid conflicts with core WordPress menu items.<\/li>\n<li>Refactor: Added <code>upvimeo_video<\/code> as canonical shortcode tag; old tags (<code>upv_vimeo_video<\/code>, <code>vimeo_video<\/code>, <code>UPVIMEO_vimeo_video<\/code>) kept as deprecated backward-compat aliases.<\/li>\n<li>Build: Hardened <code>.distignore<\/code> and <code>.gitattributes<\/code> to strip all dev-only Composer packages from distribution builds.<\/li>\n<li>Build: Added <code>upload-modal.source.js<\/code> documentation to <code>== Source Code ==<\/code> section.<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Compatibility: Tested and verified compatible with WordPress 7.0 \"Armstrong\".<\/li>\n<li>Maintenance: Updated <code>Tested up to<\/code> header to 7.0 to reflect verified compatibility.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Build: Hardened <code>.distignore<\/code> 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).<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Security: OWASP Top 10 audit \u2014 fixed SSRF vulnerability in Vimeo thumbnail fetching by enforcing HTTPS and validating CDN hostnames before any outbound request.<\/li>\n<li>Security: Patched path traversal risk in chunk-upload file removal; <code>realpath()<\/code> bounds check now confirms the target file stays inside the tmp directory.<\/li>\n<li>Security: Fixed authentication-check order in all chunk-upload AJAX handlers \u2014 <code>current_user_can()<\/code> now runs before nonce verification and input parsing.<\/li>\n<li>Security: Temporary upload directory now creates an <code>index.html<\/code> guard on first access to prevent directory listing.<\/li>\n<li>Security: Added <code>esc_url()<\/code> and <code>absint()<\/code> escaping to Vimeo link and attachment IDs in the media library helper (XSS hardening).<\/li>\n<li>Security: Removed <code>&lt;script&gt;<\/code> tag from <code>wp_kses<\/code> allowed HTML list in admin class.<\/li>\n<li>Fix: Removed <code>ob_start()<\/code> \/ <code>ob_get_clean()<\/code> bootstrap wrapper that silently swallowed PHP errors and warnings during plugin load.<\/li>\n<li>Fix: Implemented full <code>upvimeo_fs_uninstall_cleanup()<\/code> \u2014 plugin now correctly deletes all options, <code>upvimeo-upload<\/code> posts, and transients on uninstall.<\/li>\n<li>Fix: <code>UPVIMEO_MIN_PHP_VERSION<\/code> constant corrected from <code>7.3.0<\/code> to <code>7.4.0<\/code> to match the <code>Requires PHP<\/code> header declaration.<\/li>\n<li>Fix: <code>wp_die()<\/code> message on missing vendor dependencies is now escaped with <code>esc_html__()<\/code> and translatable.<\/li>\n<li>Fix: Replaced <code>current_user_can('administrator')<\/code> (role name) with <code>current_user_can('manage_options')<\/code> (capability) per WordPress coding standards.<\/li>\n<li>Fix: Removed double <code>json_encode()<\/code> wrapping inside <code>wp_send_json_success()<\/code> in the attachment-delete AJAX handler.<\/li>\n<li>Fix: Added <code>public<\/code> visibility modifier to <code>plugin_action_links()<\/code> method in the admin class.<\/li>\n<li>Build: Removed <code>Update URI<\/code> plugin header to eliminate WP.org Plugin Check (PCP) <code>plugin_updater_detected<\/code> error; Freemius SDK handles Pro updates independently.<\/li>\n<li>Build: Updated <code>.distignore<\/code> and <code>.gitattributes<\/code> with a comprehensive exclusion list to strip all development artifacts from distribution builds.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Fix: Addressed persistent 403 \"Sorry, you are not allowed to access this page\" error by restoring native Freemius capability routing.<\/li>\n<li>Refactor: Replaced destructive menu unsetting techniques with non-intrusive CSS\/JS UI manipulation to safely hide duplicate pricing tabs.<\/li>\n<\/ul>\n\n<h4>1.5.9<\/h4>\n\n<ul>\n<li>Fix: Resolved fatal error (<code>TypeError: urlencode()<\/code>) by removing invalid custom redirect logic for the Freemius trial banner.<\/li>\n<li>Fix: Natively corrected the Freemius trial banner 403 error by enabling proper pricing menu registration in the SDK configuration.<\/li>\n<\/ul>\n\n<h4>1.5.8<\/h4>\n\n<ul>\n<li>Fix: Resolved WordPress.org Plugin Check (PCP) deployment failure by excluding hidden files from build.<\/li>\n<li>Fix: Suppressed broken Freemius trial UI banner preventing 403 errors.<\/li>\n<\/ul>\n\n<h4>1.5.7<\/h4>\n\n<ul>\n<li>Security: Comprehensive security audit, fortified AJAX endpoints with strict capability checks and nonces.<\/li>\n<li>Security: Enhanced SQL injection protection by strictly enforcing <code>$wpdb-&gt;prepare<\/code> for database interactions.<\/li>\n<li>Security: Implemented strict late-escaping guidelines via <code>wp_kses_post<\/code> and native HTML <code>esc_<\/code> functions for all outputs.<\/li>\n<li>Enhancement: Optimized deployment configuration by refining <code>.distignore<\/code> and Freemius <code>Update URI<\/code> logic for repository compliance.<\/li>\n<\/ul>\n\n<h4>1.5.6<\/h4>\n\n<ul>\n<li>Fix: Resolved a fatal Server Error (TypeError: ftp_pwd()) during WP-Cron or CLI headless executions by safely refactoring directory verification logic.<\/li>\n<\/ul>\n\n<h4>1.5.5<\/h4>\n\n<ul>\n<li>Fix: Corrected the SDK inclusion path to utilize the updated Composer package instead of a legacy directory.<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Fix: Resolved a minor bug.<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Feature: Added 14-day free trial configuration without upfront payment requirement.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Enhancement: Minor deployment configuration updates to exclude composer.lock from the final build.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Security: Added comprehensive CSRF protection with strict Nonce verification across all AJAX and form handlers.<\/li>\n<li>Security: Fortified data processing with strict unslashing and sanitization for all global inputs (<code>$_POST<\/code>, <code>$_GET<\/code>, <code>$_FILES<\/code>) to prevent Stored XSS vulnerabilities.<\/li>\n<li>Security: Enhanced output escaping for frontend views, HTML attributes, and Exception messages to prevent Reflected XSS.<\/li>\n<li>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\").<\/li>\n<li>Refactor: Prefixed global variables (e.g., <code>$upvimeo_option<\/code>, <code>$upvimeo_content<\/code>) to prevent namespace collisions with WordPress core and third-party plugins\/themes.<\/li>\n<li>Refactor: Migrated native PHP <code>rename()<\/code> operations to the standard <code>WP_Filesystem::move()<\/code> API for improved cross-server compatibility.<\/li>\n<li>Cleanup: Removed deprecated Freemius Update URI headers to ensure WordPress.org repository compliance.<\/li>\n<li>Cleanup: Standardized line endings to LF across all files and removed residual debugging code (<code>print_r()<\/code>, <code>error_log()<\/code>).<\/li>\n<\/ul>\n\n<h4>1.4.12<\/h4>\n\n<ul>\n<li>Fix: Resolved \"No PHP code was found\" PHPCS warning by adding standard Silence is golden string to empty PHP file.<\/li>\n<li>Security: Comprehensive security and compliance audit resolving remaining WordPress.org Plugin Check (PCP) violations.<\/li>\n<li>Security: Fortified file inclusion with ABSPATH checks and replaced native filesystem functions with WP_Filesystem API.<\/li>\n<li>Security: Enhanced Freemius Pro build separation using explicit premium file exclusion tags.<\/li>\n<li>Security: Resolved late escaping, CSRF nonce verification, and missing input sanitization warnings across AJAX handlers and integrations.<\/li>\n<\/ul>\n\n<h4>1.4.11<\/h4>\n\n<ul>\n<li>Refactor: Eliminated un-prefixed global variables in template partials for compliance with WordPress coding standards.<\/li>\n<li>Refactor: Refactored data passing to use the load_template() $args parameter natively.<\/li>\n<li>Refactor: Prefixed all local variables across admin and public partials with $upvimeo_ to prevent namespace conflicts.<\/li>\n<\/ul>\n\n<h4>1.4.10<\/h4>\n\n<ul>\n<li>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.<\/li>\n<li>Fix: Fixed broken Upvimeo logo paths on the Settings and Library Upload admin pages by dynamically generating properly escaped URLs.<\/li>\n<li>Fix: Prevented WP Rocket and other caching plugins from lazy-loading Upvimeo logos on admin pages which caused them to appear broken.<\/li>\n<\/ul>\n\n<h4>1.4.9<\/h4>\n\n<ul>\n<li>Enhancement: Upgraded Freemius SDK to version 2.13.1.<\/li>\n<li>Fix: Addressed an issue where the Upvimeo admin menu icon disappeared by directly embedding a base64 encoded SVG asset.<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>Enhancement: Optimized build process for WordPress.org repository compliance.<\/li>\n<li>Enhancement: Updated Freemius SDK configuration for standard Free\/Pro distributions.<\/li>\n<li>Refactor: Moved SweetAlert2 library to the shared assets directory matching WP best practices.<\/li>\n<li>Fix: Updated <code>.distignore<\/code> to properly exclude development artifacts from distribution builds.<\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>Fix: Resolved undefined method error for <code>is_account_tier_free<\/code> check.<\/li>\n<li>Refactor: Updated Vimeo API checks to comply with WP.org guidelines.<\/li>\n<li>Refactor: Improved prefixing guidelines implementation.<\/li>\n<li>Fix: Resolved Upload Icon Bug (SyntaxError: Identifier 'fields' has already been declared).<\/li>\n<li>Fix: Fixed HTML Comment Issue behind the \"upload new\" button.<\/li>\n<li>Refactor: Enhanced WordPress late-escaping guidelines compliance.<\/li>\n<li>Refactor: Optimized <code>$_FILES<\/code> iteration to prevent unintended processing.<\/li>\n<li>Refactor: Upgraded sanitization and escaping for superglobals (<code>$_SERVER<\/code>, <code>$_REQUEST<\/code>, <code>$_POST<\/code>, <code>$_FILES<\/code>).<\/li>\n<li>Fix: Handled Video Upload Errors (403 Forbidden on AJAX request).<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li>Fix: Addressed an orphaned <code>admin_footer<\/code> hook causing a fatal error in the admin dashboard.<\/li>\n<li>Fix: Resolved an issue where the Freemius Account page displayed \"Free version\" despite having an active Pro plan by dynamically checking the <code>UPVIMEO_IS_PRO<\/code> constant.<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li>Fix: Resolved the black screen issue and missing titles in the video editor.<\/li>\n<li>Fix: Fixed WPCS Regressions resulting in \"Visible Code\" bugs and missing UI elements.<\/li>\n<li>Fix: Addressed an \"Undefined variable $dir\" error in helpers.php.<\/li>\n<li>Fix: Fixed a fatal error in the pricing page by removing invalid Freemius SDK calls.<\/li>\n<li>Security: Ensured proper Freemius Pro feature validation and implemented fallback UI for expired licenses.<\/li>\n<li>Refactor: Global clean-up removing development artifacts and prefixing variables.<\/li>\n<li>Refactor: Modernized Welcome Screen with a new Hero Banner layout and conditional Free\/Pro CTAs.<\/li>\n<li>Maintenance: Fixed automated plugin scan issues including load_plugin_textdomain and readme metadata.<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Fix: Resolved UI alignment issues and corrected CSS flex layouts for the admin Welcome \/ Setup instructions card.<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Security: Comprehensive WordPress Coding Standards (WPCS) audit and fixes across the entire codebase.<\/li>\n<li>Prefixing: Ensured all global variables, functions, and hooks are properly prefixed with <code>upvimeo_<\/code>.<\/li>\n<li>I18n: Added missing text domains and translator comments for improved localization.<\/li>\n<li>System: Replaced native <code>unlink()<\/code> with WordPress-standard <code>wp_delete_file()<\/code> for better file system handling.<\/li>\n<li>Integrations: Hardened security checks (Nonce verification) and data sanitization for ACF, Gravity Forms, WPForms, and Custom Forms.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Fix: Removed Update URI to comply with WordPress.org guidelines.<\/li>\n<li>Fix: Resolved Author URI mismatch issue for directory submission.<\/li>\n<li>Refactor: Separated Pro features (including Freemius SDK) into a dedicated folder strictly for the Premium version.<\/li>\n<li>Optimization: Cleaned up unnecessary development artifacts from the main plugin distribution.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Enhancement: Updated Gravity Forms upload field with modern UI (Drag &amp; Drop, Progress Bar).<\/li>\n<li>Security: Hardened input sanitization for form integrations.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Security: Comprehensive audit; hardened sanitization and SQL query preparation.<\/li>\n<li>Performance: Implemented database query caching.<\/li>\n<\/ul>\n\n<h4>1.3.9<\/h4>\n\n<ul>\n<li><strong>New<\/strong>: Completely redesigned WPForms upload field with a modern, card-style UI.<\/li>\n<li><strong>Improvement<\/strong>: Added real-time upload percentage display.<\/li>\n<li><strong>Improvement<\/strong>: Enhanced progress bar visualization and spacing.<\/li>\n<li><strong>Fix<\/strong>: Resolved issue with progress bar visibility on some themes.<\/li>\n<li><strong>Fix<\/strong>: Refined Gravity Forms upload field styling (Modern UI, clean container).<\/li>\n<li><strong>Fix<\/strong>: Fixed LearnDash upload modal progress bar percentage visibility.<\/li>\n<\/ul>\n\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>FIX: Refined Gravity Forms upload field styling (Modern UI, white card, blue button).<\/li>\n<li>FIX: Refined WPForms upload field styling (Modern UI, white card, blue button).<\/li>\n<li>FIX: Removed green checkmark circle from success state in both Gravity Forms and WPForms.<\/li>\n<li>FIX: Improved success UI (progress bar turns green on complete).<\/li>\n<li>FIX: Fixed LearnDash upload modal progress bar percentage visibility\/positioning.<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Fix: <strong>LearnDash Integration:<\/strong> Resolved issue where video URL was saved as a <code>player.vimeo.com<\/code> link instead of the standard <code>vimeo.com<\/code> format, ensuring correct embed rendering.<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Fix: <strong>Elementor Compatibility:<\/strong> Resolved \"Infinite Loading\" loop in Elementor Editor by implementing comprehensive safety guards across all integrations (TutorLMS, LearnDash, Gravity Forms, WPForms, ACF).<\/li>\n<li>Fix: <strong>Performance:<\/strong> Prevented heavy upload scripts from loading in Elementor Editor to improve performance and stability.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Enhancement: <strong>Gravity Forms UI Modernization:<\/strong> Completely refreshed the upload field with a clean container, smooth gradient progress bar, and animated success checkmark.<\/li>\n<li>Fix: <strong>TUS Upload Reliability:<\/strong> Implemented synchronous upload fallback for Gravity Forms to resolve background process failures on certain hosts (localhost\/staging).<\/li>\n<li>Fix: <strong>License Validation:<\/strong> relaxed strict Pro license checks to allow smoother uploads on local development environments.<\/li>\n<li>Maintenance: Removed legacy debug logging for better performance and security.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Enhancement: <strong>LearnDash Integration:<\/strong> Automatically inserts video URL into \"Video URL\" field after upload.<\/li>\n<li>Fix: <strong>Privacy Conflict:<\/strong> Resolved issue where \"Hide from Vimeo\" videos displayed as empty windows by enabling embed permissions.<\/li>\n<li>Fix: <strong>LMS Compatibility:<\/strong> Updated URL format to <code>player.vimeo.com<\/code> for better LMS preview compatibility.<\/li>\n<li>Enhancement: <strong>UI\/UX:<\/strong> Improved Upload Modal responsiveness and styling for a modern look.<\/li>\n<li>Security: Verified upload handling and privacy permission logic.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Security: Fixed potential XSS in admin settings by sanitizing output.<\/li>\n<li>Security: Enhanced input validation and JSON handling in AJAX actions.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fix: Resolved \"Infinite Loading\" loop in Elementor Editor by adding robust safety guards.<\/li>\n<li>Fix: Resolved \"Access Denied\" error on Pricing\/Account pages for Pro users.<\/li>\n<li>Fix: Resolved potential PHP fatal error in admin class regarding db_helper.<\/li>\n<li>Security: Comprehensive OWASP Top 10 security audit and validation.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>New: <strong>Brand New Welcome Experience:<\/strong> Completely redesigned Setup Guide with enhanced visuals and clearer instructions.<\/li>\n<li>Enhancement: <strong>Modernized UI:<\/strong> Major design updates to the \"Upgrade to Pro\" page, giving it a premium look and feel.<\/li>\n<li>Fix: <strong>Upgrade Page Loading:<\/strong> Resolved an issue where pricing tables would sometimes fail to load on the Free version.<\/li>\n<li>Enhancement: <strong>Logo &amp; Branding:<\/strong> Improved Upvimeo logo visibility and positioning across the admin dashboard.<\/li>\n<li>Enhancement: <strong>Button UX:<\/strong> Refined button sizing and hit areas for a better user experience on high-DPI screens.<\/li>\n<li>Fix: Minor CSS adjustments for better compatibility with third-party admin themes.<\/li>\n<\/ul>\n\n<h4>1.2.13<\/h4>\n\n<ul>\n<li>Enhancement: Improved Admin Dashboard stability and menu performance.<\/li>\n<li>Enhancement: Optimized admin menu structure for a cleaner, more professional workspace.<\/li>\n<li>Enhancement: Redesigned the Welcome \/ Setup banner for better responsiveness on smaller screens.<\/li>\n<li>Fix: Resolved minor UI inconsistencies in the settings area.<\/li>\n<\/ul>\n\n<h4>1.2.12<\/h4>\n\n<ul>\n<li>Fix: Resolved CSS loading consistency on the Account page.<\/li>\n<li>Fix: Improved layout rendering for Account Details header.<\/li>\n<\/ul>\n\n<h4>1.2.11<\/h4>\n\n<ul>\n<li>Fix: TutorLMS integration - fixed progress bar visibility issue.<\/li>\n<\/ul>\n\n<h4>1.2.10<\/h4>\n\n<ul>\n<li>Fix: TutorLMS integration - automated field visibility interactions.<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Enhancement: <strong>Major UI Overhaul:<\/strong> Modernized User Interface with card-based design and improved typography.<\/li>\n<li>Security: Comprehensive security audit and hardening (OWASP standards).<\/li>\n<li>Enhancement: Improved handling of Vimeo domain fetching for various plan types.<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Enhancement: Modernized Gutenberg block UI.<\/li>\n<li>Fix: Improved TUS protocol stability for large files.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Security: Admin interface hardening and escaping verification.<\/li>\n<li>Security: Enhanced API error handling.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Enhancement: Complete Admin Interface refresh.<\/li>\n<li>Enhancement: Gravity Forms UI improvements.<\/li>\n<li>Fix: Admin menu positioning fixes.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fix: WPForms success message race condition resolved.<\/li>\n<li>Stability: Process Manager optimization.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Enhancement: WPForms styling updates.<\/li>\n<li>Fix: Builder rendering improvements.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Enhancement: Unified Account management interface.<\/li>\n<li>Fix: Menu structure optimization.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release.<\/li>\n<\/ul>","raw_excerpt":"Bypass server upload limits! Upload large videos to Vimeo via TUS protocol. Native integrations for LearnDash, TutorLMS, Gravity Forms &amp; more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317455"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/upvimeo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317455"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317455"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317455"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317455"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317455"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}