General Update
I know it's been a long time since a formal update. I'll try to explain my thoughts regarding this in a later blog post. Despite the silence, there's a wealth of changes in this release and I hope this will make up for the wait.
Local API
Our local API has undergone a massive overhaul. We have switched all local API hooks to use YouTube.js instead of our separate modules for each function. This should hopefully allow us to fix any issues with the local API faster than what we could beforehand. Any relevant module that we have created has been merged into YouTube.js for a more uniformed experience. A massive thank you to @LuanRT for their help and support on YouTube.js.
This is a very large change to how we handle things. If you happen to see anything that seems broken compared to the last release, please consider creating a ticket over on our GitHub so that we can look at it.
Features
- Mobile devices can now automatically enter fullscreen when rotated to landscape. Find the toggle in the player settings. By @MarmadileManteater in #2808
- You can now share channel links using the new share button within a channel page by @Alhuin in #2859
- You can now right click on a video to open it in a new window or copy YouTube / Invidious links via the context menu by @absidue in #2873 and #2957
- You can now hide upcoming premieres in the distraction free settings by @miangraham in #2853
- Added
Cmd / Ctrl + H
shortcut to go to history by @PikachuEXE in #2870 - You can now hide the FreeTube logo within the theme settings by @theforbiddenpool in #2893
- You can now jump between video chapters using the
Cmd or Ctrl + Left Arrow
andCmd or Ctrl + Right Arrow
keyboard shortcuts by @absidue in #2912 - Playlists now support proper pagination (Local API only) by @absidue in #2956
- Settings can now be password protected by @elshimone in #2932
- You can now hide channels from various lists within the app by @petaded in #2849
- You can now scrub through a video via scrolling. Find the toggle within settings. By @ai25 in #2418
- Added support for DeArrow, a service created by @ajayyy. DeArrow swaps the titles of a video with a more descriptive title. By @elshimone in #2987 and by @ChunkyProgrammer in #3688
- You can now use AV1 video formats when available. Enable the toggle within player settings. By @absidue in #3105
- Viewing a channel now shows their Community Page by @GilgusMaximus in #1568
- Viewing a channel now shows their Live Videos Page by @absidue in #3273
- Viewing a channel now shows their Shorts Videos Page by @absidue in #3533
- Viewing a channel now shows their Releases and Podcasts Pages by @ChunkyProgrammer in #3778
- You can now have comments automatically load when watching a video. Find the option within settings. By @PikachuEXE in #3352
- Added support to view hashtag pages by @ChunkyProgrammer in #3483 and #3571
- The video player now supports multi-audio videos (Local API only) by @absidue in #3563
- The Subscriptions page now has separate tabs to see shorts and live streams by @PrestonN in #3725
- Added basic support for the PotPlayer, MPC-HC, MPC-BE external players by @trostboot in #3798
- The search bar can now parse Invidious search URLs by @ChunkyProgrammer in #3849
Fixes
- Fixed an issue with emoji's displaying within the profile selector by @absidue in #2815
- Fixed an issue where chapter markers were slightly offset by their actual times by @absidue in #2874
- Fixed an issue where cached subscription videos were not cleared when you remove all subscriptions by @absidue in #2905
- Fixed an issue where the Unsubscribe button would show in a channel page if parental controls were enabled by @elshimone in #2906
- Fixed an issue where copying a URL link would sometimes provide an internal URL by @absidue in #2951
- Fixed in issue where the import subscriptions link wouldn't open in your default browser by @absidue in #2981
- Fixed an issue where some playlist links from YouTube were not being parsed properly by @petaded in #2972
- Fixed an issue where
Cmd or Ctrl + C
wouldn't copy text when viewing a video by @PikachuEXE in #3027 - Updated the Mastodon URL to the new account in the About view by @MarmadileManteater in #3038
- Fixed an issue where searching within channels wouldn't work by @PikachuEXE in #3062 and #3073
- Fixed an issue where clicking on the currently selected trending tab would try to grab information again by @absidue in #3070
- Fixed an issue where subtitles would sometimes not display within the video player by @absidue in #3100
- Fixed an issue where
Shift + Enter
wouldn't open the search within a new window by @PikachuEXE in #3113 - Fixed an issue where QT apps using the FreeTube protocol wouldn't work properly by @ChunkyProgrammer in #3119
- Fixed some styling issues in the playlist page by @MarmadileManteater in #3123
- Fixed in issue where the channels page wouldn't populate with videos when sorting by popular and using the Invidious API by @camcam1773 in #3126
- Fix an issue where the app would sometimes load on a non-existant second monitor by @kawanakaiku in #3008
- Fixed an issue where external video players would sometimes not open within the Subscriptions page by @ArturWagnerBusiness in #3172
- Fixed an issue where the Trending and Watch pages wouldn't allow certain arrow key events by @absidue in #3170
- Fixed an issue where FreeTube couldn't parse channel URLs if they included tab information by @absidue in #3241
- Fixed an issue where Live and Upcoming videos wouldn't show up within playlists by @absidue in #3250
- Fixed an issue where Premieres wouldn't display properly in the Subscription page by @absidue in #3240 and #3358
- Fixed an issue where session volume would not apply when opening a video in a new window by @predystopic-dev in #3203
- Fixed an issue where FreeTube would permanently prevent the PCs screen saver from applying by @absidue in #3286 and by @PikachuEXE in #3557
- Fixed an issue with playing videos within playlists while using the Invidious API by @PikachuEXE in #3294
- Fixed an issue where the chapter index wouldn't reset when changing videos by @absidue in #3400
- Fixed an issue where watching a video would use your saved watch progress if progress saving is disabled by @PikachuEXE in #3453
- Added better external link parsing for comments within the Local API by @PikachuEXE in #3448
- Fixed an issue where the countdown to watch the next video in a playlist would still show up when you're at the end of a playlist and looping is disabled by @PikachuEXE in #3362
- Fixed an issue with sorting upcoming subscriptions when using the Invidious API by @ChunkyProgrammer in #3485
- Fixed an issue with fetching more comment replies when using the Invidious API by @ChunkyProgrammer in #3489
- Fixed an issue where FreeTube wouldn't stay running in the background on MacOS when all windows were closed by @PikachuEXE in #3526
- Fixed an issue with fetching more search results when using the Invidious API by @ChunkyProgrammer in #3486
- Fixed an issue where the user's name wouldn't show up or when a URL is missing from a badge within the live chat by @ChunkyProgrammer in #3558
- Fixed an issue where the cursor would move while navigating through search suggestions by @absidue in #3566
- Fixed an issue where the playlist thumbnail would not get proxied when using the Invidious API by @absidue in #3581
- Fixed an issue where the captions toggle keyboard shortcut wouldn't work for Legacy or Audio formats by @absidue in #3580
- Fixed an issue where live videos within lists wouldn't have a save to playlist button by @PikachuEXE in #3598
- Fixed an issue where custom emojis wouldn't display properly when using the Invidious API by @lamemakes in #3658
- Fixed an issue where the Hide Channel Subscribers Distraction Free Setting would sometimes not work when using a secondary window by @Rikthepixel in #3692
- Fixed an issue where several pages would continuously refresh when holding down certain keyboard shortcuts by @PikachuEXE in #3709
- Fixed an issue where links within comments wouldn't be correct when using the Invidious API by @lamemakes in #3711
- Fixed an issue where Hide Channels and Hide Premiere settings wouldn't work properly by @petaded in #3673
- Fixed an issue where the Current Invidious Instance input field would remove characters while typing by @PikachuEXE in #3776
- Fixed an issue where the watch page would break if the subscriber count is missing by @absidue in #3794
- Fixed an issue with trying to send playlist information to external players with no index support by @trostboot in #3797
- Fixed an issue when trying to import subscriptions that have terminated channels by @ChunkyProgrammer in #3816
- Fixed an issue with the focus box now showing up when using the tab key within the channel page by @absidue in #3850
- Fixed an issue where the search bar wasn't grabbing words from the suggestion list by @PikachuEXE in #3793
Changes
- Playlists now show video numbers by @absidue in #2811
- The subscriber count on the watch page is now translated properly by @absidue in #2841
- Several more elements in the app can be interacted with via middle click or right click by @absidue in #2911 and #2968
- Opening and Copying videos will include playlist information when available by @PikachuEXE in #2848
- The "Load More Comments" button will only show up if there are more comments to grab by @absidue in #2917
- The app menu now has history forward / back buttons by @PikachuEXE in #2933
- The text input element has been given some accessibility improvements by @ChunkyProgrammer in #2709
- The profile selector now supports longer names by @emmayjiang in #2964
- The subscribed channels page now better supports longer names by @elshimone in #2988
- The Watch page has been given some accessibility improvements by @ChunkyProgrammer in #2986
- The Channel View has been given some accessibility improvementsby @ChunkyProgrammer in #2984
- The app menu now has navigation items for the different side navigation items by @PikachuEXE in #2965
- Channel handles are now parsed and shown within video descriptions instead of showing a raw URL by @absidue in #3011
- Video history now remembers relevant playlist information when applicable by @PikachuEXE in #3006
- The share menu in the playlists page has been updated by @absidue in #3121
- You can now search by
Movie
type within the search bar by @ChunkyProgrammer in #3141 - Shorter YouTube Shorts videos should now display storyboars by @absidue in #3128
- Manually scrubbing to sponsor spots in a video when Sponsorblock is turned out will now allow you to watch that sponsor by @lodwhet in #3116
- All share buttons now use the secondary colour theme by @absidue in #3169
- Grabbing subscriptions via RSS now display relevant time instead of absolute by @PikachuEXE in #3216
- Exported files now use your local time instead of UTC in the file name by @PikachuEXE in #3236
- A users member icon now shows up in the comments when using the Invidious API by @ChunkyProgrammer in #3293
- The Most Popular Tab in the side menu will now be hidden if the Invidious API is not selected and if backend fallback is disabled by @absidue in #3339
- Improved default quality and quality selection logic by @absidue in #3278
- A message will be shown when the Live Chat is unavailable by @absidue in #3327
- You can now import YouTube Video History via the JSON export by @arlm in #2958
- The frame by frame keyboard shortcut now supports live videos and 50fps videos by @absidue in #3420
- Comments now show channel tags instead of the channel URL by @PikachuEXE in #3351
- The playlist widget within the watch page will now auto scroll to the current video by @PikachuEXE in #3399
- The chapters widget within the watch page will now auto scroll to the current chapter by @PikachuEXE in #3610
- The distraction free settings are now sorted by subsections by @absidue in #3591
- Playlists now use the provided playlist thumbnail instead of picking one ourselves (Local API Only) by @jadenet in #3710
- Playlists now show the view count as well as the published date by @absidue in #3767
- Subscriptions will now show the video duration when RSS is enabled if the information is available in your watch history by @absidue in #3839
- The Most Popular page will now show an error message if the instance you're using does not support it by @PikachuEXE in #3841
- Added Improved Accessibility to the Profile Selector by @ChunkyProgrammer in #3863
- Added semantic roles to several elements within the app to make the site more accessible by @ChunkyProgrammer in #3887
- Subscriptions are now cached on a per channel basis instead of a per profile basis by @PikachuEXE in #3668
- Secondary windows are now updated quicker when watch history changes by @PikachuEXE in #3353
Known Issues
- Proxying videos via Invidious is not working at the moment. See #3892 and iv-org/invidious#4045 for more information.
Dropping Support for Older Windows Builds
A while back, Electron, which FreeTube is based on, dropped support for Windows 7, 8, and 8.1. Because of this, we are forced to do so as well. This release is the last release that will be supporting those operating systems and future versions of FreeTube will not work on those systems either. If you are still using any of these operating systems still, it is highly encouraged that you switch to a different operating system if at all possible.
Looking for Translators!
We are actively looking for new translators! If you happen to know multiple languages and would like to see them added into FreeTube, we would love to have your contributions. If you know a language that FreeTube already supports, you can also contribute by making corrections or by adding missing translations. Regardless of where you stand, feel free to check out our Weblate page to see what can be included. If enough translations have been added, let us know and we'll enable it to be used within FreeTube. Thank you very much to everyone who has translated for us in the past and we look forward to anyone's future contributions.
New Contributors
- @Alhuin made their first contribution in #2859
- @miangraham made their first contribution in #2853
- @theforbiddenpool made their first contribution in #2893
- @gnuhead-chieb made their first contribution in #2895
- @elshimone made their first contribution in #2906
- @emmayjiang made their first contribution in #2964
- @ai25 made their first contribution in #2418
- @camcam1773 made their first contribution in #3126
- @lodwhet made their first contribution in #3116
- @kawanakaiku made their first contribution in #3008
- @ArturWagnerBusiness made their first contribution in #3172
- @predystopic-dev made their first contribution in #3203
- @arlm made their first contribution in #2958
- @yarons made their first contribution in #3237
- @lamemakes made their first contribution in #3658
- @Rikthepixel made their first contribution in #3692
- @jadenet made their first contribution in #3710
- @trostboot made their first contribution in #3771
- @socherbyc made their first contribution in #3804
- @capecrusader-121 made their first contribution in #3844
Full Changelog: v0.18.0-beta...v0.19.0-beta