# Changelog All notable changes to this media player project. ## 2026-06-25 ### Added - Redesigned media sources so videos can use local uploaded files or remote URLs stored in the database. - Added provider embed playback in the main player for supported external services, including YouTube, Vimeo, Dailymotion, Twitch, Facebook, TikTok, Instagram, X/Twitter, SoundCloud, Spotify, Google Drive, Wistia, Streamable, and Loom. - Added an admin upload flow that supports either direct uploads or external provider/page URLs. - Added metadata fetching for external URLs to populate title, description, duration, thumbnails, publish dates, and readable provider view counts where available. - Added automatic thumbnail grabbing for external URLs, plus first-frame thumbnail generation for local videos when `ffmpeg` is available. - Added a YouTube channel importer that scrapes channel videos, previews imports, skips duplicates, and stores imported videos as embedded YouTube sources. - Added YouTube timestamp correction so imported and existing YouTube videos can use their original publish dates. - Added an **Upkeeping** section to the admin dashboard for batch maintenance actions. - Added per-video local view counts, external provider view counts, total public view counts, and configurable public statistics display. - Added upkeep actions to correct external view counts in batches. - Added public search for published videos. - Added configurable URL rewriting, defaulting to `/v/`, `/all`, and `/search/`. - Added a configurable homepage live section with a Videos/Live toggle and default Stream.Place embed support. - Added social sharing metadata so video pages expose title, description, and thumbnail image data for link previews. ### Changed - External provider totals are stored separately from local site plays, then combined for public totals. - Public display settings now control per-video counts, total counts, and page statistics. - Admin video creation and editing now attempt to fill blank metadata from external media information. - The main player now chooses between local media playback, direct remote media playback, and provider embeds based on stored source data. - README documentation now reflects the current remote URL, provider embed, live section, view count, and pretty URL behavior. ### Fixed - Improved YouTube channel importing when initial scraping returned no videos. - Fixed thumbnail URLs so pagination and non-homepage catalogue pages load poster images correctly. - Fixed uploaded and imported YouTube timestamps by reading original provider dates where available. ### Removed - Removed Imgur-specific embed, thumbnail, metadata, and view-count support. - Removed the Imgur wrapper endpoint that previously attempted to proxy official Imgur embed snippets.