== Changelog ==

= 1.9.5 - July 11, 2026 =

Frontend Upload Moderation
* Added a complete approve/reject workflow for pending frontend uploads from the VideoHub video list, including one-click approval, rejection messages collected in a modal, automatic publish/draft status changes, creator-facing rejection reasons on the frontend edit screen, in-site notifications, HTML email alerts, and safe edit links that return creators to the same video edit screen after login.

Performance, Compatibility & Stability
* Improved overall plugin performance and reduced unnecessary processing in several components.
* Enhanced compatibility with the latest WordPress version.
* Improved admin interface responsiveness and usability.
* Refined video loading and rendering behavior across multiple layouts.
* Updated internal architecture for better stability and future addon compatibility.
* Fixed several minor bugs and addressed edge-case issues reported during testing.

= 1.9.4 - July 3, 2026 =

Core Maintenance
* Improved mobile browsing smoothness across core video layouts, search surfaces, and public navigation areas.
* Added bundled language coverage for English, Turkish, Spanish, German, Brazilian Portuguese, Russian, French, Italian, Japanese, and Simplified Chinese.
* Improved core translation readiness for setup, import, dashboard, playlist, category, and search interface text.
* Improved lightweight frontend performance checks so core screens avoid unnecessary work when optional features are not active.

= 1.9.3 - July 2, 2026 =

Translation & Interface Readiness
* Improved translation readiness across the free core, PVH Comments, PVH Reactions, and PVH Search interfaces.
* Improved provider/import helper text so admin setup messages are easier to translate and understand.
* Improved playlist, category, and count strings for cleaner localization in public templates.
* Improved dashboard and diagnostics wording for safer translated technical notices.

= 1.9.2 - July 2, 2026 =

Core Notifications & Runtime Safety
* Added a lightweight core notification engine with dedicated storage, unread counters, REST helpers, and shared helper functions for VideoHub experiences.
* Improved admin-only diagnostics coverage so supported frontend surfaces can expose clearer route, notification, and runtime context while remaining hidden from normal visitors.
* Improved internal bootstrap safety so admin-only metadata can be registered without loading public runtime features unnecessarily.
* Improved unread-state support for VideoHub user interfaces so compatible features can surface message and notification counts more consistently.
* Improved compatibility checks around optional feature data to avoid unnecessary public queries when related functionality is unavailable.

= 1.9.1 - June 28, 2026 =

Core Package & Release Readiness
* Improved WordPress.org release metadata for the free core package, including version references and public resource links.
* Improved public links for the product page, documentation, demo, developer documentation, and GitHub repository.
* Improved official addon upload safety so existing addon packages are not replaced unless an administrator explicitly enables the replacement option.
* Improved addon installation documentation to explain both standard WordPress plugin upload and the built-in VideoHub addon manager.

Documentation & Developer Resources
* Improved bundled documentation so free core features and optional official addons are described more clearly.
* Improved developer documentation release metadata for the current VideoHub version.
* Improved wording around optional extension workflows to reduce confusion for WordPress.org users.

Fixes
* Fixed outdated documentation links that pointed to legacy VideoHub pages.
* Fixed older documentation text that could describe optional addons as included core features.
* Fixed addon upload guidance that did not clearly explain when an existing addon package should be replaced.

= 1.9.0 - June 28, 2026 =

Search & Discovery
* Improved PVH Search live results with stronger request handling so fast typing, repeated submissions, and overlapping AJAX responses no longer make instant search feel unreliable.
* Improved live search output by decoding titles and text fragments before rendering suggestions, preventing encoded entities such as `&amp;` from appearing in the dropdown.
* Improved search diagnostics when the admin-only Frontend Diagnostics Tool is enabled, including live request state, response payloads, timing, and result rendering context.
* Improved Explore page video grids so the New Videos section uses a predictable 3-column desktop layout, 2 columns on tablets, and 1 column on narrow mobile screens.
* Improved Explore shorts layout so 6 shorts fit cleanly without creating empty-column visual gaps across desktop, tablet, and mobile breakpoints.

Comments & Community
* Improved Popular Comments discovery so the section first highlights liked comments from the last 7 days, then fills remaining slots with recent approved comments to avoid sparse sections.
* Improved comment discovery coverage for VideoHub content types, including videos, shorts, and live stream content where supported.
* Improved frontend comment cards in discovery surfaces with safer links back to the related content and cleaner fallback behavior when related user data is missing.

Core Stability & Performance
* Improved custom-table safety checks for optional feature data so missing addon tables no longer create public database warnings.
* Improved Navigation Panel conditional menu checks by using the current VideoHub purchase table name and verifying table availability before querying.
* Improved responsive layout isolation for Explore cards so global video and shorts card styles no longer force unexpected widths inside the discovery page.
* Improved documentation for VideoHub's performance architecture, explaining how WordPress post types, taxonomies, and dedicated activity tables work together.
* Improved developer documentation around the Frontend Diagnostics Tool, including route detection, player source reports, network probes, browser events, and search diagnostics.

Fixes
* Fixed a live search issue where stale or overlapping AJAX responses could make instant results appear inconsistent.
* Fixed encoded search suggestion titles that could show HTML entities instead of readable text.
* Fixed an outdated premium purchase table reference that could trigger database errors from Navigation Panel conditional menu checks.

= 1.8.1 - June 27, 2026 =

Core, Addon Management & Setup Flow
* Improved the official addon model so paid and optional addons can be installed as normal WordPress plugins while still appearing inside VideoHub -> Addons as VideoHub-managed extensions.
* Improved update safety by keeping optional addon plugin folders outside the core plugin directory, helping site owners update the free core without removing separately installed paid addons.
* Improved addon discovery for official standalone addon plugins, including cleaner installed/active/inactive states and more reliable dependency messaging.
* Improved first-run setup and settings alignment so homepage selection, shortcode placement, and default core addon choices are easier to understand and remain reflected in the main settings area.
* Improved settings navigation by making the setup wizard easier to reach again after the first install.
* Improved smaller-screen admin settings layouts, including permalink slug controls that now stack more naturally instead of squeezing into narrow columns.
* Improved homepage section behavior around carousel hero layouts, category ordering, and spacing so home layouts stay closer to the configured design across desktop and mobile.

PVH Comments
* Improved moderation awareness by adding pending comment counts to the VideoHub admin menu area for users who can review comments.
* Improved comment admin navigation so moderation status tabs keep users inside the VideoHub admin context.
* Improved frontend comment loading with stronger state handling for videos and shorts, especially when visitors open panels quickly, change sorting, or move between content.
* Improved empty comment presentation so no-comments states stay clean and pagination controls only appear when more approved top-level comments exist.
* Improved comment request safety by ignoring stale responses that no longer belong to the active video or short comment section.

PVH Search
* Improved primary type filter behavior so All, Videos, Shorts, Playlists, and Live selections no longer trigger an immediate search while the visitor is still choosing filters.
* Improved search application flow so selected filters are applied through the search action, creating a calmer and more predictable browsing experience.
* Improved filter panel behavior and layout integration across VideoHub pages.
* Improved active filter presentation by reducing duplicated filter output and moving the clear action closer to the primary filter row.
* Improved mobile spacing around the search interface on homepage, category, shorts, playlist, and archive-style pages.

Developer & Documentation
* Improved developer documentation for standalone VideoHub-compatible plugins and the official addon packaging contract.
* Improved release notes in the bundled documentation so site owners can see what changed in core, comments, and search without reading source code.

Refinements
* Fixed a PVH Search filter-panel toggle case where the drawer could fail to open in some layouts.
* Fixed a PVH Comments pagination edge case where the "Load more comments" button could remain visible when a video or short had no approved comments.

= 1.8.0 - June 25, 2026 =

Mobile Experience & Responsive Polish
* Improved mobile video card rhythm with better spacing, readable titles, cleaner author rows, and more stable view-count alignment.
* Improved homepage sections in both carousel and grid layouts so content adapts more naturally across phone, tablet, and desktop breakpoints.
* Improved single video pages on small screens with clearer action areas, safer spacing around player overlays, and better premium prompt readability.
* Improved playlist sidebar and playlist item labels so premium prices and active states remain visible over thumbnails.
* Improved channel and profile mobile headers with full-width summary panels, stronger contrast, and better dark-theme readability.
* Improved mobile upload and edit screens so seller payout information can be updated without leaving the upload/edit flow.

Shorts & Player Experience
* Improved Shorts carousel controls with side-positioned arrows, better disabled states, and cleaner behavior when there are not enough shorts to scroll.
* Improved Shorts hover/play affordance so the play action is more visible without overwhelming the thumbnail.
* Improved Shorts fullscreen playback with more reliable active-slide autoplay and next-short continuation.
* Improved Shorts progress usability by keeping video controls accessible while moving titles, author details, and descriptions into the info experience.
* Improved sound handling for Shorts and uploaded videos so user volume choices are respected more consistently.

Core UI, Search & Addon Workflows
* Improved search filter rendering to prevent empty "active filters" UI from flashing during page load.
* Improved author/profile links so they only become clickable when the related profile/channel addon is available.
* Improved lightweight video preview placeholders for self-hosted videos without thumbnails, without generating server-side image files.
* Improved addon cards with clearer official addon pricing, license state, renewal details, and cleaner mobile modal behavior.
* Improved VideoHub dashboard cards so optional addon-dependent panels only appear when the related addon is active.
* Improved admin video and shorts lists with a dedicated views column for faster content review.
* Improved admin-only playback diagnostics with clearer reports, copyable debug sections, and stricter loading only for administrators.

Critical Fixes
* Fixed protected playback failures caused by optimizer/proxy URLs being wrapped by premium secure streaming in the wrong order.
* Fixed unavailable profile links causing 404s when Auth or Channels are inactive.
* Fixed responsive layout conflicts that could make premium overlays, channel headers, or addon license details appear misaligned on mobile.

= 1.7.0 - March 31, 2026 =

💳 Premium Content (WooCommerce)
* NEW: Public order line meta key `pvh_video_info` (constant `ORDER_ITEM_VIDEO_SUMMARY_KEY`) stores a readable video summary (title, ID, price) on checkout
* Fixed: WooCommerce admin order item details no longer show an empty meta block when `_pvh_video_id`, `_pvh_video_title`, and `_pvh_video_price` are hidden via `woocommerce_hidden_order_itemmeta`
* Improved: `woocommerce_order_item_get_formatted_meta_data` — legacy line items with only hidden internal meta get a synthetic visible row; editable orders use placeholder `new-pvh-{order_item_id}` so saving persists `pvh_video_info`
* Improved: `woocommerce_order_item_display_meta_key` maps `pvh_video_info` to the translated "Video" label (list + meta edit table)
* Improved: `format_video_line_summary_value()` helper for consistent summary text

🏪 Marketplace & VideoHub admin
* Improved: Vendor payout profile addon path handling, IBAN mod-97 validation, uninstall cleanup
* Improved: Earnings — available dates, statistics SQL, top lists, safer DB inserts
* Improved: Withdrawals — ordering, currency checks, safer reject transaction handling
* Improved: WooCommerce marketplace integration — full refund flows, gross amount filter, refund meta deduplication
* Improved: Marketplace settings resolution and vendor dashboard toggle
* Improved: Admin notices, settings URLs, sanitize/merge on save, VideoHub settings persistence
* Improved: Vendor public — dashboard flag, AJAX vendor checks, earning estimate currency
* Improved: Admin dashboard marketplace earnings table queries and `wc_price` formatting

💬 PVH Live Chat addon (v1.0.2)
* NEW: Profanity filter — "Blocked words or phrases" at the bottom of VideoHub → Settings → Chat; saved as `profanity_blocklist` in `pvh_live_chat_settings` (sanitize_textarea_field)
* Improved: Case-insensitive substring matching per term; UTF-8 safe when mb_stripos is available; max 80 characters per line
* Improved: Filtered messages show: "This message has been hidden because its content does not meet our community standards." for everyone except users with manage_options (authors see the placeholder, not the original)
* Improved: Filtering on output only — DB stores raw text; `message_filtered` + `pvh-chat-message-filtered` class for UI
* Fixed: Message cache stores raw rows; per-request formatting so blocklist and delete rules apply correctly per viewer (`_messages_v2` cache key)


= 1.6.1 - March 2026 =

🎬 Hero Section - Multiple Layouts
* NEW: 4 different hero layout options - Netflix Style, Magazine Style, Single Hero, Grid Style
* NEW: Visual preview cards for layout selection in admin settings
* NEW: Separate CSS files for each layout
* NEW: Responsive design for all layouts (desktop, tablet, mobile)
* NEW: Video Source selection - Trending Videos (Auto) or Custom Selection
* NEW: Custom video picker with AJAX search and drag-to-reorder

💬 Comments Addon - Profile Tab
* NEW: "Comments" tab added to user profile page
* NEW: List all user's comments across videos
* NEW: Inline comment editing with save/cancel buttons
* NEW: Comment deletion with confirmation modal
* NEW: AJAX-powered edit and delete functionality

🔧 Bug Fixes & Improvements
* Fixed: Netflix hero styles now properly scoped
* Fixed: Magazine layout medium cards now stack vertically
* Fixed: Hero layouts no longer conflict with each other's CSS
* Fixed: Media Optimizer Configure Settings link now points to correct page
* Improved: Hero video selector UI - cleaner design


= 1.6.0 - February 2026 =

💰 NEW: Ads Addon - Complete Video Monetization System
* NEW: Pre-roll ads - Show ads before video playback (works with all video types)
* NEW: Mid-roll ads - Show ads during video playback (self-hosted videos only)
* NEW: Display ads - Above video, below video, and below comments positions
* NEW: In-feed ads - Inject ads between videos in grids and carousels
* NEW: Shorts ads - Full-screen ads between shorts while scrolling
* NEW: Ad type support - Custom HTML/AdSense code or Image + URL
* NEW: Skip button with customizable countdown timer
* NEW: Impression and click tracking with statistics
* NEW: Ad statistics dashboard with daily breakdown
* NEW: Premium user ad hiding (for Premium Content/Marketplace purchasers)
* NEW: YouTube/Vimeo embed support for pre-roll ads
* NEW: Settings page integrated into VideoHub Settings

🎯 NEW: Navigation Panel Addon - YouTube-Style Sidebar Navigation
* NEW: YouTube-like collapsible sidebar navigation panel
* NEW: Customizable menu items (Home, Explore, Subscriptions, Library, History, Liked Videos, My Videos, My Channel)
* NEW: Video categories section with video count badges
* NEW: User subscriptions section with channel avatars
* NEW: Panel position settings (left/right)
* NEW: Adjustable panel width and collapsed width
* NEW: Mobile drawer support with hamburger menu
* NEW: Dark mode support
* NEW: Lucide icons integration
* NEW: Settings page for full customization

📊 NEW: Admin Dashboard - Comprehensive Analytics Hub
* NEW: Real-time statistics overview (videos, shorts, playlists, live streams)
* NEW: Total views and channel statistics
* NEW: Top 10 most viewed videos leaderboard
* NEW: Top 10 channels by total views
* NEW: Top uploaders ranking
* NEW: Recent videos list with quick actions
* NEW: Active live streams monitoring
* NEW: System health checks with root cause analysis
* NEW: FFmpeg status detection
* NEW: Disk space monitoring with warnings
* NEW: Directory permissions checker
* NEW: Storage usage breakdown (videos, HLS, temp)
* NEW: Quick links and documentation access

👤 Auth Addon Enhancements
* NEW: Watch History tab in user profile
* NEW: Liked Videos tab in user profile
* NEW: Settings to enable/disable history and liked tabs
* NEW: Clear all history functionality
* NEW: Remove individual history items
* NEW: Watch history database table with timestamps

🔍 Search Addon Improvements
* NEW: Customizable search filters via settings page
* NEW: Enable/disable individual filters (category, tag, duration, date, sort)
* NEW: Filter order customization
* NEW: Improved filter UI consistency

🔧 Bug Fixes & Improvements
* Fixed: Permalink flush on addon activation (no more 404 errors)
* Fixed: Core CSS styling issues
* Fixed: Live Chat addon CSS problems
* Improved: Addon activation now auto-flushes rewrite rules


= 1.5.0 - February 2026 =

🏪 NEW: Marketplace Addon - Multi-Vendor Video Sales Platform
* NEW: Complete vendor earnings system with automatic commission calculation
* NEW: Vendor payout profiles with bank/IBAN details
* NEW: Withdrawal request system with admin approval workflow
* NEW: Configurable holding period before earnings become available
* NEW: Minimum withdrawal amount setting
* NEW: Admin dashboard with sales overview charts (Week/Month/Year)
* NEW: Top vendors and top selling videos leaderboards
* NEW: Pending earnings and withdrawals badges with pulse animation
* NEW: Quick action buttons for releasing earnings and processing withdrawals
* NEW: WooCommerce order integration for automatic earning creation
* NEW: Refund handling with withdrawn earnings protection
* NEW: Vendor profile tab in WooCommerce My Account
* NEW: Earnings history and withdrawal status for vendors
* NEW: Comprehensive hook system for third-party integrations
* NEW: Cron job for automatic pending earnings release

🔧 Bug Fixes & Improvements
* Fixed: Self-hosted video playback issues on video and shorts pages
* Fixed: User avatar display on video and shorts pages
* Fixed: Mark as Paid button not working for withdrawals
* Fixed: ORDER BY SQL sanitization issues in marketplace queries

🛠️ Developer Improvements
* Enhanced: Hook system with 50+ new action and filter hooks
* Added: Marketplace-specific hooks for earnings, withdrawals, and vendor profiles
* Added: Comprehensive DEVELOPER-HOOKS.md documentation
* Improved: Video lifecycle hooks documentation


= 1.4.0 - January 2026 =

🚀 NEW: Media Optimizer Addon - Major Performance Upgrade
* NEW: Auto-optimize self-hosted MP4 videos with FFmpeg
* NEW: Background processing via WP-Cron queue system
* NEW: Fast Start (moov atom) - videos play instantly on mobile
* NEW: Mobile-compatible yuv420p encoding for universal device support
* NEW: Quality presets: Fast, Balanced, Quality
* NEW: Resolution control: 480p, 720p, 1080p max options
* NEW: Duplicate protection - same video never processes twice
* NEW: Safe fallback to original video if optimization fails
* NEW: Per-video optimization status in admin
* NEW: Admin settings page with FFmpeg detection
* NEW: WP-Cron warning for low-traffic sites
* NEW: pvh_video_optimized action hook for addon integration
* NEW: Player auto-switches to optimized version when available
* NEW: Original file preservation option
* NEW: Processing timestamps (queued_at, started_at, finished_at)

🔧 Core Improvements
* Improved: Upload hook pvh_video_uploaded triggered after video save
* Improved: Player filters video source via pvh_video_player_source
* Improved: URL validation for optimized video sources


= 1.3.3 - December 2025 =

💬 Live Chat Addon - Rate Limit Fix
* Fixed: Rate limit timezone bug causing "Please wait 3565 seconds" error
* Fixed: Messages now saved with UTC timestamp (gmdate) instead of WordPress local time
* Fixed: Rate limit check now uses UTC-aware parsing (strtotime with UTC suffix)
* Improved: Rate limiting now works correctly regardless of WordPress timezone settings
* Improved: Users from any timezone can now send messages at the correct rate limit interval

📂 Category Pages - Shorts & Playlists Support
* Added: Shorts section now displays on category pages with 5-column grid layout
* Added: Playlists section now displays on category pages
* Added: Category taxonomy support for playlists (pvh_category, pvh_tag)
* Added: Category header now shows video, short, and playlist counts
* Improved: Shorts grid responsive layout (5 columns desktop, 3 tablet, 2 mobile)
* Improved: Shorts cards with proper thumbnail display and overlay
* Improved: Playlist cards with video count badge and hover effects

🎨 Shorts Display Improvements
* Improved: Shorts titles now always visible on desktop (no hover required)
* Improved: Shorts overlay opacity set to 1 for permanent visibility
* Improved: Category page shorts use same styling as homepage carousel


= 1.3.2 - November 2025 =

📺 Live Streaming Addon - Layout & Theme Compatibility
* Improved: Live stream single page now displays correctly on all themes
* Improved: Theme-agnostic CSS approach - no longer overrides header/footer styles
* Improved: Content container properly contained within theme layout
* Improved: Video player and sidebar grid layout optimized for live streams
* Added: Inline CSS reset targeting only plugin content elements
* Added: Responsive grid layout (1fr + 402px sidebar on desktop, single column on mobile)

📤 Uploads Addon - Video Re-upload & Thumbnail Fixes
* Added: Video re-upload feature for missing/deleted video files
* Added: "Video Not Found" notice with upload button when video file is missing
* Added: Server-side video file existence check for self-hosted videos
* Added: AJAX handler for video re-upload with progress indicator
* Added: Automatic old attachment cleanup on re-upload
* Fixed: Thumbnail upload button infinite recursion error (too much recursion)
* Fixed: Native click method used instead of jQuery trigger to prevent event bubbling
* Improved: Video edit page now detects and handles missing video files gracefully

📱 Auth Addon - Mobile Responsive Improvements
* Improved: Profile page video titles now display fully without truncation on mobile
* Improved: Shorts cards now show title overlay on mobile devices
* Added: Short title element to profile shorts grid template
* Added: CSS styles for pvh-short-title with text shadow for readability
* Improved: Shorts card minimum height increased for better visibility
* Improved: Shorts overlay always visible on mobile for better UX

📺 Channels Addon - Mobile Button Layout
* Improved: Channel action buttons stack vertically on mobile (480px and below)
* Improved: View Channel and Edit Channel buttons now full-width on mobile
* Improved: Subscribe button properly sized and positioned on mobile
* Added: Flex-wrap and responsive gap for button containers

🔍 Search Addon - Filter System Overhaul (v1.1.0)
* Fixed: All filter types (Videos, Shorts, Playlists) now work correctly
* Fixed: Upload date filter properly filters search results
* Fixed: Duration filter (Short, Medium, Long) functioning correctly
* Fixed: Sort by options (Relevance, Date, Views) working as expected
* Fixed: Category filter integration with search results
* Fixed: Filter state persistence when navigating between pages
* Fixed: Apply Filters button now triggers search with selected filters
* Improved: URL parameter handling for filter state
* Improved: Filter chips visual feedback for active filters

🎨 CSS & UI Enhancements
* Improved: Category page inline CSS for consistent layout
* Improved: Video grid responsive behavior on all screen sizes
* Improved: Shorts carousel card sizing on mobile (140px width, 250px height)
* Improved: Profile section video card hover effects
* Added: Theme-agnostic container reset for live stream pages
* Added: Sidebar hiding for live stream single pages

🛠️ Code Quality & Performance
* Removed: Aggressive theme CSS overrides that affected header/footer
* Removed: Unnecessary !important declarations on global elements
* Improved: CSS specificity targeting only plugin elements
* Improved: Event handling in uploads.js to prevent recursion
* Improved: File existence validation before video playback


= 1.3.1 - October 2025 =

🔍 Search Addon - Major AJAX & Filter Fixes (PVH Search v1.1.0)
* Fixed: AJAX search returning "-1 Forbidden" error due to multiple pvh_search script localizations causing nonce mismatch
* Fixed: Prevented duplicate enqueue_assets() calls with $assets_enqueued flag
* Fixed: Removed duplicate script localization from load_search_template and inline template
* Fixed: Shorts and Playlist type filters not carrying over when navigating from other pages to search page
* Fixed: goToSearchPage now passes all active filters (type, upload_date, duration, sort_by, category) as URL parameters
* Fixed: checkUrlParams now reads filter parameters from URL and activates corresponding chips and filter buttons
* Fixed: "Apply filters" button now triggers search (previously only closed the panel)
* Fixed: Filter button clicks no longer auto-search; user selects filters then clicks "Apply" for batch application
* Fixed: Inline search script race condition - now polls for PVHSearch availability and skips if checkUrlParams already started search
* Improved: Modern card-based design for search results on desktop and mobile
* Improved: Search result cards with 12px border-radius, clean typography, and proper spacing
* Improved: Responsive search results - full-width cards on mobile, side-by-side on desktop
* Improved: Thumbnail styling with 8px border-radius and 280px width on desktop
* Improved: Duration badge with monospace font for better readability
* Removed: All debug console.log statements from search.js
* Removed: All debug file logging from pvh-search.php AJAX handler
* Removed: All debug inline script logs from search-results.php template
* Removed: debug-ajax.log file


= 1.2.1 - September 2025 =

📱 New Addon: PVH PWA (Progressive Web App)
    * Added: Transform VideoHub into an installable mobile app
    * Added: Dynamic manifest.json via REST API endpoint
    * Added: Service Worker with offline fallback support
    * Added: Install prompt banner for Chrome/Edge and iOS Safari
    * Added: PWA mode detection with body classes
    * Added: Hide header/footer options in standalone mode
    * Added: Customizable app name, icons, theme colors
    * Added: Admin settings in Mobile tab with detailed help texts
    * Added: Scope-specific service worker management
    * Added: iOS Safari apple-touch-icon support
    * Added: Inline offline fallback page (no WP dependency)
    * Added: Cache-Control no-store header for manifest

⚙️ Homepage Settings Fixes
    * Fixed: Featured Channels settings not saving issue
    * Added: show_featured_channels sanitization in sanitize_homepage_options
    * Added: featured_channels_title, featured_channels_count, featured_channels_orderby fields

📺 Channels Addon - Major Updates
    * Added: Channels archive page template (/channels/)
    * Added: Modern channel cards with banner, avatar, stats
    * Added: Search functionality for channels
    * Added: Sort by subscribers, newest, oldest, name (A-Z)
    * Added: Pagination (24 channels per page)
    * Added: Responsive grid (4 → 3 → 2 → 1 columns)
    * Added: Empty state with "Create Channel" button
    * Added: Automatic rewrite rules flush on activation
    * Fixed: "See all" link now works correctly
    * Fixed: Icon spacing in channels archive page header
    * Fixed: Channels archive page now full-width like other pages
    * Fixed: Avatar clipping issue in homepage channel cards
    * Improved: CSS specificity with !important for theme compatibility
    * Added: pvh-full-width class for container override

📺 Channel Detail Page Improvements
    * Improved: Stats (Subscribers, Videos) moved to top-right corner on desktop
    * Improved: Description positioned below avatar and name
    * Improved: Avatar sizing optimized (90px mobile, 120px desktop)
    * Improved: Mobile layout - vertical stacking, centered elements
    * Improved: Desktop layout - position absolute for stats
    * Fixed: Banner height adjustments (180px mobile, 220px desktop)

📺 Channel Profile Tab Visibility
    * Fixed: Other users can now see public channels on profiles
    * Added: "Channel" tab visible on other users' profiles (if they have public channel)
    * Added: Subscribe button on other users' channel tab
    * Added: "Subscribed" state display for subscribed channels
    * Fixed: Private/Unlisted channels hidden from other users' profiles
    * Improved: Different UI for own profile vs others' profile

🔐 Auth Addon - Login Redirect Fix
    * Fixed: Login now redirects to current page instead of homepage
    * Added: current_url parameter sent from JavaScript
    * Added: Server-side current URL handling with fallback
    * Improved: User stays on the same page after login

🔍 Search Addon Improvements
    * Improved: Desktop layout - user menu/auth moved to left, search centered, filter on right
    * Improved: Search button now shows only icon (text removed for cleaner UI)
    * Fixed: Better responsive behavior on all screen sizes
    * Added: CSS media query for 1024px+ desktop layout

📱 Mobile Bottom Navigation Bar (NEW!)
    * Added: YouTube-style bottom navigation bar for mobile devices
    * Added: Home, Videos, Shorts, Categories, Profile tabs
    * Added: Active state highlighting for current page
    * Added: Smooth animations and transitions
    * Added: Auto-hide on scroll down, show on scroll up
    * Added: Safe area support for notched devices (iPhone X+)
    * Added: Settings to enable/disable in Mobile tab
    * Added: Customizable tab visibility options
    * Improved: Mobile navigation experience

🎨 UI/UX Improvements
    * Improved: Channel card avatar sizing with min-width/min-height
    * Improved: Object-position center for better avatar display
    * Fixed: Theme container conflicts on channels archive page
    * Improved: Channel profile card stats positioning
    * Added: Multiple body classes for PWA mode styling


= 1.2.0 - August 2025 =

Major release with 3 new addons and significant improvements!
🔐 New Addon: PVH Auth

    Added: Complete frontend authentication system
    Added: Custom login page at /login/
    Added: Custom registration page at /register/
    Added: User profile pages at /profile/{username}/
    Added: Profile editing with avatar and cover image upload
    Added: User dropdown menu in header
    Added: Configurable registration fields
    Added: Social links support on profiles
    Added: Extensible profile tabs system

📺 New Addon: PVH Channels

    Added: YouTube-style channel system
    Added: Channel creation from frontend
    Added: Channel customization (banner, avatar, description)
    Added: Unique @handle for each channel
    Added: Subscriber system with counts
    Added: Channel tabs (Videos, About, Playlists)
    Added: Channel visibility options (Public, Unlisted, Private)
    Added: Admin approval workflow for channels
    Added: Multiple channels per user option

📤 New Addon: PVH Uploads

    Added: Frontend video upload system
    Added: Modern drag & drop upload interface
    Added: Real-time upload progress tracking
    Added: Video details form (title, description, category, tags)
    Added: Custom thumbnail upload
    Added: Video visibility options
    Added: Daily and monthly upload quotas
    Added: Video moderation/approval workflow
    Added: Duplicate upload prevention

🎬 Video Status System

    Added: Pending video status with "under review" message
    Added: Suspended video status with reason display
    Added: Status notices for video owners
    Added: Video unavailable page for non-accessible videos

⚙️ Settings & UI Improvements

    Added: Auth, Channels, Uploads settings tabs
    Improved: Upload page with YouTube Studio-style design
    Improved: Video edit page styling
    Improved: Profile and channel page layouts
    Fixed: JavaScript infinite recursion on upload page
    Fixed: WP_Error handling in video edit page
    Fixed: Taxonomy name mismatches




= 1.1.8 - July 2025 =
* Fixed: Shorts like/dislike functionality now persists correctly after page refresh
* Fixed: Shorts titles visibility on archive page - now always visible on mobile, hover on desktop
* Fixed: Shorts titles color changed to white with text shadow for better readability
* Fixed: Mobile Plyr player play button now hides correctly during video playback
* Fixed: Double progress bar issue on Plyr video player
* Fixed: Settings menu text visibility in Plyr player
* Improved: User like tracking system for Shorts with database persistence
* Improved: Mobile responsive styles for Shorts player

= 1.1.7 - June 2025 =
* Fixed: Self-hosted provider API test now returns success message
* Fixed: Vimeo API key instructions updated with correct URL
* Improved: API key testing feedback messages

= 1.1.6 - May 2025 =
* Added: Pro/Lite version conflict detection and auto-deactivation
* Fixed: Plugin conflict when both Pro and Lite versions are active
* Improved: License activation flow

= 1.1.5 - April 2025 =
* Added: Plyr video player integration for self-hosted videos
* Added: Custom video player controls and styling
* Improved: Video player responsive behavior on mobile devices

= 1.1.4 - March 2025 =
* Added: Premium Content addon for selling videos
* Added: WooCommerce integration for video purchases
* Improved: Video card hover effects

= 1.1.3 - February 2025 =
* Added: Live Streaming addon
* Added: YouTube Live and custom RTMP stream support
* Fixed: Video thumbnail generation for YouTube Shorts

= 1.1.2 - January 2025 =
* Added: Author profile page with video statistics
* Added: Video filtering by author
* Improved: Related videos algorithm

= 1.1.1 - December 2024 =
* Fixed: Bulk import progress indicator
* Fixed: Category filter on videos page
* Improved: Admin UI styling consistency

= 1.1.0 - November 2024 =
* Added: Bulk video import from YouTube playlists and channels
* Added: Video duration display on thumbnails
* Added: Trending videos section
* Improved: Homepage layout options
* Improved: Mobile navigation

= 1.0.0 - October 2024 =
* Initial Release
* Video custom post type
* Category and tag taxonomies
* YouTube, Vimeo, Dailymotion support
* Self-hosted video support
* View counter
* Related videos
* Autoplay feature
* Playlist system
* Addon system
* Shortcodes
* Responsive templates
* PVH Shorts addon
* PVH Search addon
* PVH Reactions addon
* PVH Comments addon
