Skip to content

Releases: deniscerri/ytdlnis

1.8.1

26 Nov 21:40
0f6d8d6
Compare
Choose a tag to compare

What's Changed

  • Implemented pagination in the History screen to help with large lists
  • Added delete all for each page in the download queue screen
  • Added accessing Terminal from the shortcuts menu of the app
  • Made the download notifications grouped together
  • Fixed app crashing when pressing the log of a download but the log has been deleted
  • Fixed app crashing when queueing long list of items in the download queue
  • Added ability to mass re-download items from the history screen
  • Made the app remember the last used scheduled time so it can suggest you that time for the next download
  • #618, made all preferences with a description show their values
  • Fixed bug that prevented app from loading all urls from text file
  • Added ability to stop an observed source but not delete it

Custom yt-dlp source

Now you can create your own yt-dlp source the app can update to.
The app is running yt-dlp --update-to user/repo@latest where user/repo is provided by you through the app. The default 3 sources are still there ofc.

Advanced Settings

Added a new category for more advanced users and moved the extractor argument settings there.

  • Added ability to make command templates usable while fetching data in the home screen. They will be appended to the data fetching command as an extra command in the end. Enable the toggle in the advanced settings to be able to configure your templates for it
  • When PO Token is set, the app now adds the web extractor argument for youtube. I forgor...
    (If you want to set more PO tokens for other player clients i guess set them in the other extractor argument text preference, and also modify the player client. The separate PO Token preference applies it only for the web player client)

Write Info Json

Added ability to write info json when downloading so when you resume and restart downloads, it will not download the webpage and player clients all over again. It will help prevent you making unnecessary calls to the server.
On advanced settings you can turn this off if you want.
I coded it be available for the next 5 hours. Considering formats tend to expire on some extractors, i dont want the download to be unusable. This is a rare use case, one of them being you starting a download, it saves the info json and you cancel it and you remember to start it again, maybe tomorrow lol. Formats most likely expired, download item is useless. So in that case it will redownload the the webpage and player clients again, and it will save a new info file aswell no problem.

More Home recommendation options

Now you can select to have more youtube feeds in the home screen from yt-dlp

  • watch later playlist
  • recommendations
  • liked videos
  • watch history

Since the option has been overhauled to put every home recommendation option in a single list-view preference, the preference has been reset so u have to change it again if you had changed it.

Autogenerated Changes

  • Translations update from Hosted Weblate by @weblate in #606
  • Translations update from Hosted Weblate by @weblate in #608
  • Translations update from Hosted Weblate by @weblate in #614
  • Translations update from Hosted Weblate by @weblate in #619
  • Translations update from Hosted Weblate by @weblate in #620
  • Translations update from Hosted Weblate by @weblate in #623
  • Translations update from Hosted Weblate by @weblate in #626
  • Translations update from Hosted Weblate by @weblate in #634
  • Translations update from Hosted Weblate by @weblate in #640

Full Changelog: v1.8.0...v1.8.1

1.8.0

20 Oct 12:42
fd39a18
Compare
Choose a tag to compare

Please Read

This version has the updated python version 3.11. Due to yt-dlp's deprecation of python 3.8, this update had to be made, but at the same time support for Android 6 will be dropped. Android 6 users can still keep using the previous version until yt-dlp stops working in the future.

What's Changed

  • Re-added individual pause button for downloads
  • Added ability to set preferred command template
  • Added PO Token setting for youtube extractor arguments
  • Added customizable client for youtube extractor arguments
  • Added preference to add extra youtube extractor arguments
  • Added a header on cancelled/errored/scheduled/saved tabs to show the count and a dropdown menu to delete and copy urls instead of using the main queue screen menu
  • Fixed app not starting scheduled downloads with the resume button if there were no paused downloads, weird ik
  • Added Socket Timeout in Download Settings
  • Fixed app not adding extra commands in the very end of the command list
  • Fixed #580
  • Small fixes on the home screen channel tab filters
  • Fixed app crashing when pressing the thumbnail icon in the result card details. The icon is hidden if there is no thumbnail
  • Watch Videos playlist type link is supported for data fetching and downloading.
  • Added ability to parse the "artists" tag when fetching data for ytm

Autogenerated Changes

  • Translations update from Hosted Weblate by @weblate in #566
  • Translations update from Hosted Weblate by @weblate in #567
  • Translations update from Hosted Weblate by @weblate in #572
  • Translations update from Hosted Weblate by @weblate in #588
  • Update issue templates to yaml version by @I21b in #593

New Contributors

  • @I21b made their first contribution in #593

Full Changelog: v1.7.9.2...v1.8.0

1.7.9.2

02 Sep 21:30
3307118
Compare
Choose a tag to compare

What's Changed

  • newpipe extractor general fixes
  • fixed newpipe formats not working
  • removed piped because its more annoying than anything, it doesnt work currently
    shortest changelog wr

Autogenerated Changes

  • Translations update from Hosted Weblate by @weblate in #555
  • Translations update from Hosted Weblate by @weblate in #560
  • Translations update from Hosted Weblate by @weblate in #565

Full Changelog: v1.7.9.1...v1.7.9.2

1.7.9.1

01 Sep 21:17
3df58df
Compare
Choose a tag to compare

What's Changed

Newpipe Extractor

Since Piped is currently broken and unusable, i implemented the NEWPIPE EXTRACTOR to replace it. This includes:

  • video queries
  • playlist queries
  • trending
  • searching
  • youtube channel queries
  • formats
    The speed is as fast as piped and seems to be working.
    Now you can select between piped, newpipe or strictly rely on yt-dlp

Home screen filtering

This is a feature request that is long overdue. When implementing newpipe extractor i also coded in proper youtube channel parsing. Now items have their respective channel playlist name. So the app will show you filter chips if you have multiple playlist available.
So you can filter between videos, shorts, livestreams and choose to just download those by long pressing etc etc.
In case newpipe fails and it defaults to yt-dlp, proper channel playlist parsing is not yet possible.
You can track the issue i have created here:
yt-dlp/yt-dlp#10827

Other fixes

  • Fixed app selecting all playlist items even though user selected a few, if the user is parsing an instagram post. (they all had the same url)
  • Fixed app not changing container label in the multiple download card when switching download type
  • Fixed app not being able to return to home after clicking the download notification
  • Added ability for the app to parse multiple urls at the same time. For now it will do 10 items at max
  • Added ability to show "Continue Anyway" in the error dialog so it will keep showing the download card in case you want to save it for later or schedule it
  • Added general subtitle variant codes with .*
  • Fixed app not applying the subtitle language label in the subtitle configuration dialog
  • Fixed app not showing the total format size when being in audio download type in the multiple downlod card
  • Fixed app not navigating to the download queue fragment to adjust the errored download? Couldnt reprod but reworked logic lmk
  • Fixed app still using original title for metadata even though the user changed it in the textfield
  • Slight fixes for artist parsing for ytm videos
  • Improved and simplified uploader parsing when quick downloading
  • Ignored the recode command when using avi container, because it doesnt support it
  • Prevented app selecting bad formats 233 and 234 when quick downloading
  • Fixed app not showing best quality and worst quality labels depending on the user language
  • Fixed app crashing when selecting formats of an instagram post with the same url
  • Added approx filesize in yt-dlp formats, somehow the app was not adding it lol
  • Added ability to remember text wrapping in download logs and terminal
  • if quick download enabled, added ability to show the download card while sharing the txt file on any download type
  • hide download size when enabling cutting because the size is unknown

Note

Some people are asking for the ability to not use cache while downloading in usb storage. This is an android limitation. Even though you might have all files access, android still doesnt consider usb storage as main storage and cant directly write to it. So i have to use caching and then transfer the file.
If anyone is knowledgeable to pull this off, dm me on telegram and we can make it happen. :)

Also for people cutting really long videos and its slow. Its a yt-dlp / ffmpeg issue of how they handle that, so it can't be helped. I guess its best to just download it fully and cut it somewhere else.

I could've released this sooner but i have been busy :/

Autogenereated Changes

  • Translations update from Hosted Weblate by @weblate in #536
  • Translations update from Hosted Weblate by @weblate in #545
  • Translations update from Hosted Weblate by @weblate in #546
  • Translations update from Hosted Weblate by @weblate in #549

Full Changelog: v1.7.9...v1.7.9.1

1.7.9

28 Jul 21:37
c40095a
Compare
Choose a tag to compare

What's Changed

Please make a backup of the app data in the settings before this update in case something goes wrong

  • Fix App crashing with exception "com.deniscerri.ytdl.database.viewmodel.DownloadViewModel.checkIfAllProcessingItemsHaveSameType(Unknown Source:21)..."

  • Added option in download settings to use AlarmManager instead of WorkManager for scheduled downloads to improve accuracy

  • When updating formats for multiple items, now the app remembers what items don't need new formats and skips them to save time and data

  • Moved format source from the bottom of the format list to the filter bottom sheet

  • Added ability for the app to update the result items formats when you update the download item formats if there are any results with the same url

  • Moved "In Queue" screen back in its separate tab due to recyclerview performance issues

  • Format updating in multiple download card now applies updates immediately on each item

  • Deleted saved downloads after a format update in the background after the user decided to open for review

  • App now shows the actual predicted filesize along with the audio size when downloading videos in the multiple download card. Also in single download mode when the audio size is known but the video size is unknown the app wont show the audio size only, it wont show anything

  • Made snackbar show up above the copy log button

  • Fixed App crashing when updating fragments in the download card while in the Share Activity

  • Added a setting to use the video url instead of the playlist url to download. The app used playlist url and then indexes to get the video to take advantage of playlist metadata. Some users have been using libretube playlists that cant be recognised properly by yt-dlp. Turn this option if this affects you

  • Added Write URI Permission when opening files

  • Fixed App still updating formats even though the user closed the format bottom sheet

  • Fixed App keeping old video titles in the download card #526

  • Refactored code on how to fetch player url and chapters from yt-dlp in the cut bottom sheet

  • Added ability to change the theme accent without restarting the app. If you change light/dark mode the app is supposed to restart because the icon activity changes aswell

  • Prevented AVI and FLV containers from embedding thumbnails

  • Fixed Subs Language preference not being saved in the download card

  • Added player_client=default,mediaconnect,android extractor args when data fetching and downloading to use more formats

  • Turned some metadata into digits
    -> --parse-metadata "%(track_number,playlist_index)d:(?P<track_number>\d+)" --parse-metadata "%(dscrptn_year,release_year,release_date>%Y,upload_date>%Y)s:(?P<meta_date>\d+)"

  • Removed NA from meta album artist --parse-metadata "%(artist,uploader|)s:^(?P<meta_album_artist>[^,]*)"

  • Added --recode-video toggle in the settings to use instead of --merge-output-format

  • Also added that preference as a button in the adjust video in the download card

  • Adjusted the "Adjust video" section in the download card and bundled some common items together to save space

  • Fixed app not selecting an audio format to show in the format view in the download card after updating formats

  • Fixed app showing when the download will start up when you queue up a scheduled download

  • Made home recyclerview bottom padding bigger to avoid the FABs

  • Fixed Issue #529

  • App now remembers the scroll position in the download history tab

  • Made piped api not fetch data when fed mix playlists

  • Turned the incognito toast to a snackbar in the download card

  • Fixed duplicate dialog crashing app when in share activity

  • Fixed issue of app not showing audio formats of preferred language at the top when selecting the suggested filter

  • Added a feature to delete cancelled downloads, errored downloads and download cache older than a certain period. You can select daily, weekly, monthly.

  • Added ability to change the container in the multiple download card

  • Fixed App issues with download logs

  • Added preferred language in the format sorter in yt-dlp

  • More other small changes i forgor what i fixed

  • Removed - Topic from author fields

Autogenerated Changes

New Contributors

Full Changelog: v1.7.8...v1.7.9

1.7.8

01 Jul 18:41
fa2bd2e
Compare
Choose a tag to compare

What's New

Please make a backup of the app data in the settings before this update in case something goes wrong with the database upgrade

Incognito right in the download card

Now you can enable incognito on the go and prevent the download from creating a history record of it when its finished. If incognito mode is on, it will be enabled by default

Observe Sources Sync

Now you can enable sync in observe sources when the app will match every video with what it has downloaded so far. So that if you delete a record from the playlist, the app will do the same

Customizable Home Screen for Mobile

Now you can select which screens you can show in the bottom navigation. Home and More are essential so they cant be removed.
Available screens: Home, Downloads, Queue, Terminal, More
You can also select the label visibility of the bottom navigation

Active and Queued Combined

Instead of swiping to see the queued items, now they are in the same screen when queued are right below the active items

  • Prevented the user from spamming pause and resume making the app confused in such a short period of time
  • Re-implemented format importance sorting in the app, resembling the yt-dlp one
  • Added feature to keep screen on while the video plays in the cut player
  • Fixed app not adding a fallback to bestaudio when downloading audio formats using a format id
  • Made the app limiting titles to 180 characters instead of 120
  • Hid free space label in command mode if the app cant read the folder
  • Fixed app still using the cache folder when the app has all files access but the folder didn't exist
  • Added ability to swap format source from piped to yt-dlp if the item is a youtube video
  • Added a feature to choose if you want to restore the backup or erase everything from the app and start fresh with just the saved data
  • Moved some youtube-focused settings to their own category in the general settings
  • Other small things here and there

Autogenerated Changes

New Contributors

Full Changelog: v1.7.7...v1.7.8

1.7.7

11 Jun 21:05
313358c
Compare
Choose a tag to compare

Shortest changelog ever

  • Fixed multiple download card issues. Processing them in the background was not a good idea for most users as it was confusing and users thought it wasnt doing anything. It led to duplicate downloads
    Usually playlist downloads dont really have 4000 items in them so background. If you have one, just enable quick download and consider the whole playlist as a single item. :)

  • Some users had issues with the display over apps perm. Since that perm ended up not doing anything to the revanced issue, i removed it

  • Fixed the app crashing when you put an index bigger than the number of items in the select playlist items sheet

Had to push this out since multiple download card was almost broken

Autogenerated Changes

  • Translations update from Hosted Weblate by @weblate in #493

Full Changelog: v1.7.6...v1.7.7

1.7.6

09 Jun 19:40
f724b14
Compare
Choose a tag to compare

What's New

  • Made finished notification icon color to red
  • Added download path in the history item details sheet
  • Fixed Download On Schedule feature. Switched back to AlarmManager as its more accurate than WorkManager
  • Removed move to top and to bottom in the scheduled tab. Code cleanup
  • Fixed a huge issue when you press cancel to the quick download item before the data isn't fully fetched, it would go back to being queued after the data fetching is finally done
  • moved force keyframes at cuts in the general category in processing settings
  • showed the number when you select all items in the context menu bar
  • fixed app going always to the search bar when you return to home if you launched the search shortcut from the app menu
  • Fixed app not hiding update formats button after updating formats
  • Fixed app not passing ba/b in format logic when using generic best audio format
  • Fixed meta track parse metadata
  • Fixed app not cancelling downloads in some cases
  • Fixed huge issue when using multiple download card and it wouldnt keep user defined changes
  • Fixed app not removing download notification when cancelling download
  • Fixed some errors in arabic interface when selecting playlist items
  • Limited characters in cut interface textboxes to just numbers colons and periods
  • When user had a defined preferred format id and the user selects a generic 'best' format the app just accounted that format id and didnt consider the preferred video resolution as a fallback
  • Fixed when trying to schedule a video download and setting it to download as audio as well, the audio is put in queued and not in scheduled
  • Fixed app crashing when trying to tap adjust download in the errored notification, in case the user removed the download beforehand
  • Added ability to modify the download item in the queue. But to prevent the app from starting the download prematurely, it is moved to the saved category and after you hit ok it will be requeued. If you cancel the edit card, the item will stay in saved
  • Fixed app reseting user defined changes in the download card like the download path when it finally updates data
  • Fixed app crashing when trying to open a download that has no duration in it. Now its disabled
  • Previously the app would change the state of downloads to Paused, whether it is activepaused or queuedpaused. Since the app now simply pauses all downloads, there is no need to do such transformations especially when you could have many items in the queue. Now simply the app cancels the ytdlp instances and the download worker and stores a state whether the downloads are paused or not
  • Fixed album playlist track not being saved #482
  • Fixed retries and fragment retries settings not applying
  • Fixed container in RTL not showing correctly in video tab in the download card
  • Fixed bad spacing in RTL for search engines
  • Fixed app crashing when you multiple select cancelled downloads for redownload
  • Removed the ability of the app to rename extractors in the history tab. Now they are raw from yt-dlp
  • Changelog was too slow and buggy, so now its on a recyclerview ultra fast
  • Fixed the case when you pasted multiple links in the home section and only one item would be registered
  • Fixed observe sources not downloading new uploads when checked as such
  • On select playlist items the end textbox was not purely numeric. fixed
  • Fixed sub format conversion not applying when embedding subtitles
  • added scheduled as a backup category in teh settings
  • added ability to show cookie details
  • fixed app crash in some cases when u copied multiple url and tapped the FAB in home screen
  • removed excessive file permissions for API 30 and above

Format aspect importance

Now in the settings you can order around which element based on your preferences like codec, container, quality, preferred format id should be prioritised when the app automatically chooses a format for you. The app uses a weigh system to sort formats based on preference.

  • fixed app crashing when swipe to delete a scheduled item
  • fixed app not modifying time in a scheduled item
  • added network constraint for observe sources worker
  • added reconfigure button in errored notification
  • fixed app not hiding the "Link you copied" after clicking on it
  • fixed app crashing when trying to toast in the end (#469)
  • added alternate urls for instagram,facebook,and reddit as supported sites
  • fixed app not escaping double quotes in filenames
  • fixed container text alignment for arabic interface
  • rearranged video quality order in descending order in the settings

Background processing of items for download

Someone tested to download a 4000 long playlist in the app. First of all it couldnt even load them in the multiple download card. In those extreme cases the usual recommendation was to just turn quick download on, and consider the whole playlist as a single item and download.

But still, if a madman wants the ability to modify the list, now the app can handle it and will show the download card. Since it will take a while until all items all processed and converted into download items, a progress bar is added.
Still you are able to hit download and schedule button early and let the app continue on its own by using the default configurations of the download items. So its fast like quick download but still separates all items into separate downloads.

  • fixed app using -a "" on observe sources command type downloads
  • added milliseconds when trying to cut a download
  • added ability to set the folder location of your download archive path. The file has to be named as download_archive.txt
  • added feature to number each chapter when using split by chapters
  • slight changes to downloads already exist dialog
  • fixed app not considering m.youtube links
  • other small fixes

Autogenerated Changes

  • Translations update from Hosted Weblate by @weblate in #463
  • Translations update from Hosted Weblate by @weblate in #470
  • Translations update from Hosted Weblate by @weblate in #472
  • Translations update from Hosted Weblate by @weblate in #475
  • Translations update from Hosted Weblate by @weblate in #478
  • Translations update from Hosted Weblate by @weblate in #483
  • Translations update from Hosted Weblate by @weblate in #484
  • Translations update from Hosted Weblate by @weblate in #485
  • Translations update from Hosted Weblate by @weblate in #487
  • Translations update from Hosted Weblate by @weblate in #491

Full Changelog: v1.7.5...v1.7.6

1.7.6.1-beta

26 May 19:07
0f017e2
Compare
Choose a tag to compare
1.7.6.1-beta Pre-release
Pre-release

This is a beta release. Perhaps the next one will be stable

What's New

  • Fixed app not hiding update formats button after updating formats
  • Fixed app not passing ba/b in format logic when using generic best audio format
  • Fixed meta track parse metadata
  • Fixed app not cancelling downloads in some cases
  • Fixed huge issue when using multiple download card and it wouldnt keep user defined changes
  • Fixed app not removing download notification when cancelling download
  • Fixed some errors in arabic interface when selecting playlist items
  • Limited characters in cut interface textboxes to just numbers colons and periods
  • When user had a defined preferred format id and the user selects a generic 'best' format the app just accounted that format id and didnt consider the preferred video resolution as a fallback
  • Fixed when trying to schedule a video download and setting it to download as audio as well, the audio is put in queued and not in scheduled
  • Fixed app crashing when trying to tap adjust download in the errored notification, in case the user removed the download beforehand
  • Added ability to modify the download item in the queue. But to prevent the app from starting the download prematurely, it is moved to the saved category and after you hit ok it will be requeued. If you cancel the edit card, the item will stay in saved
  • Fixed app reseting user defined changes in the download card like the download path when it finally updates data
  • Fixed app crashing when trying to open a download that has no duration in it. Now its disabled
  • Previously the app would change the state of downloads to Paused, whether it is activepaused or queuedpaused. Since the app now simply pauses all downloads, there is no need to do such transformations especially when you could have many items in the queue. Now simply the app cancels the ytdlp instances and the download worker and stores a state whether the downloads are paused or not
  • Fixed album playlist track not being saved #482

Autogenerated changes

  • Translations update from Hosted Weblate by @weblate in #478
  • Translations update from Hosted Weblate by @weblate in #483

Full Changelog: v1.7.6.0-beta...v1.7.6.1-beta

1.7.6.0-beta

12 May 22:02
732ffa7
Compare
Choose a tag to compare
1.7.6.0-beta Pre-release
Pre-release

This is a beta release. A new release was overdue and some new features are not properly tested yet

What's New

  • Made finished notification icon color to red
  • Added download path in the history item details sheet
  • Fixed Download On Schedule feature. Switched back to AlarmManager as its more accurate than WorkManager
  • Removed move to top and to bottom in the scheduled tab. Code cleanup
  • Fixed a huge issue when you press cancel to the quick download item before the data isn't fully fetched, it would go back to being queued after the data fetching is finally done
  • moved force keyframes at cuts in the general category in processing settings
  • showed the number when you select all items in the context menu bar
  • fixed app going always to the search bar when you return to home if you launched the search shortcut from the app menu

Format aspect importance

Now in the settings you can order around which element based on your preferences like codec, container, quality, preferred format id should be prioritised when the app automatically chooses a format for you. The app uses a weigh system to sort formats based on preference.

  • fixed app crashing when swipe to delete a scheduled item
  • fixed app not modifying time in a scheduled item
  • added network constraint for observe sources worker
  • added reconfigure button in errored notification
  • fixed app not hiding the "Link you copied" after clicking on it
  • fixed app crashing when trying to toast in the end (#469)
  • added alternate urls for instagram,facebook,and reddit as supported sites
  • fixed app not escaping double quotes in filenames
  • fixed container text alignment for arabic interface
  • rearranged video quality order in descending order in the settings

Background processing of items for download

Someone tested to download a 4000 long playlist in the app. First of all it couldnt even load them in the multiple download card. In those extreme cases the usual recommendation was to just turn quick download on, and consider the whole playlist as a single item and download.

But still, if a madman wants the ability to modify the list, now the app can handle it and will show the download card. Since it will take a while until all items all processed and converted into download items, a progress bar is added.
Still you are able to hit download and schedule button early and let the app continue on its own by using the default configurations of the download items. So its fast like quick download but still separates all items into separate downloads.

  • fixed app using -a "" on observe sources command type downloads
  • added milliseconds when trying to cut a download
  • added ability to set the folder location of your download archive path. The file has to be named as download_archive.txt
  • added feature to number each chapter when using split by chapters
  • slight changes to downloads already exist dialog
  • fixed app not considering m.youtube links
  • other small fixes

Autogenerated Changes

  • Translations update from Hosted Weblate by @weblate in #463
  • Translations update from Hosted Weblate by @weblate in #470
  • Translations update from Hosted Weblate by @weblate in #472
  • Translations update from Hosted Weblate by @weblate in #475

Full Changelog: v1.7.5...v1.7.6.0-beta