Skip to content

Releases: deniscerri/ytdlnis

1.8.9.1

14 Jun 15:53
08627cd

Choose a tag to compare

What's Changed

Note

Please upgrade to this version urgently if you are in 1.8.9, as it resolves critical bugs. Sorry for the inconvenience

In certain devices when searching for something on home screen you might experience a crash without a generated log. This is created by newpipe extractor. Change the data fetching extractor to yt-dlp in general settings to resolve this.

Urgent fixes

  • Fix bug in history deleting whole history list if you select one item 💀
  • Update newpipe extractor to snapshot
  • Add reset button in crop bottom sheet
  • Fix bug in history when deleting item, deletes whole folder in SD card

Autogenerated changes

  • Update IzzyOnDroid repository link in README by @Figim in #1228

Full Changelog: v1.8.9...v1.8.9.1

1.8.9

13 Jun 08:05
bf90b2a

Choose a tag to compare

What's Changed

Video cropping

Now in the video section of the download card u can crop a video however you like and the app applies a ffmpeg postprocessor with yt-dlp. I have to note that in vp9 and av1 formats cropping might need higher versions of ffmpeg, so i recommend upgrading to ffmpeg 7.1.1 from the packages settings.

Subfolder download preference

I have to tell people that the app has a filename template system where u can have endless possibilities on how to name your files, but for some people they just need basic structure so i added this. U can select playlist name, website and download type

Other stuff

  • Fix webview not working for tiktok and facebook
  • Make webview go back when swiping back on the device
  • Enabled by default download over metered networks
  • Show progress in the updating app dialog
  • Fix app inverting the order of items when restoring backup
  • Added placeholder url in po token generation
  • Validate url properly for the cookies screen
  • fix app using search query for playlist url when use original url as playlist url toggle is enabled
  • disable some website search options (nico video, google video) as they are broken
  • fix parse metadata playlist name
  • Fix The cache folder preference can't be interacted immediately (remains grayed out) after you grant all files perms
  • remove reduntant -c:v libx264 -c:a aac -profile:v baseline for compat mode
  • Use codec in -S instead of vcodec and acodec
  • enable embed metadata in video downloads too
  • remove yt-dlp from /raw to make fdroid buildable
  • fix format card ui to have wrapping text instead of being cut off
  • other stuff i forgor

Info

You should install the github release version to have app auto update and other features missing in foss. Foss versions are built to comply the F-droid / Izzy regulations.

Autogenerated changes

New Contributors

Full Changelog: v1.8.8...v1.8.9

1.8.8

11 Mar 14:00
e61a644

Choose a tag to compare

What's Changed

Package Integration

This was long overdue, and the next progression from this app. Instead of releasing new versions of the app when packages like python, ffmpeg etc need upgrades, now the app can manage both bundled and downloadable packages.
Packages will be published in a separate repository.

You can also import zip if you have it locally.
Currently what is published is nodejs 25.3.0 and previous versions of ffmpeg and python.
I downgraded ffmpeg to 7.0.1 for this release to reduce filesize but also to resolve issues with users who cant run higher version ffmpeg.
ffmpeg 7.1.1 is available to download of course.

Since beyond skd28 downloadable executables can't execute, the only way to make them executable is if they are part of jniLibs inside the app OR inside another app. So now downloadable packages are shipped as apks u can install. The app will immediately recognize them.

The package apks are simply empty apps with jniLibs folder in them containing libxxx.so and libxxx.zip.so. libxxx.zip.so are extracted within the ytdlnis internal directory, and libxxx.so is accessible throughout the android system.

YoutubeDL-Android rewrite

Since the package integration, the library had to undergo many changes so i decided to rewrite everything and integrate it within the app. Also fixed some other issues. In future releases i will have more control how commands are executed.

Android 16 Live Notifications

Now the app supports the new live notification feature for download jobs. If you have concurrent downloads, it will make separate live notifications for each.

Everything else

  • Remove error code 100 from success codes, it was causing errored downloads to not go to errored screen
  • Made app not hardcode @latest when using custom yt-dlp update repository
  • fix beta1 crashing when sharing link to the app, sorry lol
  • fix app putting premerged videos before video only formats when fetching from newpipe
  • made app pre-sort audio formats from newpipe by highest bitrate, for default users
  • fix app not applying embed thumbnail in compatible mode for some reason
  • add AI policy to contributing.md
  • add feature to reapply old codec and video container preferences when disabling compatible mode
  • remove redundant +br +fps +res from worst audio in quick download
  • fix app showing repeated aria2c logs in logs screen
  • made app give more importance to preferred language than prefer drc audio on quick download
  • made use_app_language_for_metadata false by default
  • fix ytdlp not auto downloading when app starts and erroring out, made it wait for runtime to start
  • fix exporting the temp files generates a folder named "0" and an extra "storage/emulated/0/…" directory inside, LOL
  • fix app not showing generic format ids in format selection screen, without restarting app
  • made cache export only export temporary download files and not other config files like infojsons or other ytdlp temp files
  • add --replace-in-metadata "playlist,playlist_title" "^.*$" "NAME" if use item url instead of playlist url is applied
  • add %(rownumber)s as metadata instead of modifying autonumber start. use that in filename template to do the same thing as autonumber when downloading multiple items at once
  • add 968kbps for audio bitrate setting
  • merge thumbnail chips in audio download in a single dialog to save space
  • Add remove audio as preference in the settings
  • Add also download as audio as preference in the settings
  • fix app not adding trailing spaces when adding command templates in the download card
  • remove hardcoded --no-cache-dir from youtubedl-android
  • add vorbis to audio containers
  • some metadata command rework for title and author
  • for errored downloads, long press redownloads and press sends to download card
  • delete info json files after updating yt-dlp
  • tried fixing po token no auth generation, lmk
  • add badge to the filters in download history fragment
  • fix app sometimes showing "watch" in result titles
  • apply prefer drc audio format in quick downloads for video tab
  • move use header from cookies screen to advanced since UA overriding breaks the tabs (playlist, releases, etc.) extraction, too
  • add write info json when fetching formats aswell
  • fix preference compatible video not applying in download card
  • enforce avc and acc codecs when enabling compatible video
  • made double tap of the downloads screen to open the search bar
  • update to newpipe 0.25.2
  • use --ppa VideoConvertor+ffmpeg_o:-c:v libx264 -c:a aac -profile:v baseline for compatibility mode toggle, should now be truly compatible lol
  • apply prefer drc preference even in quick download
  • truncate match filter logs to prevent crashes
  • add --cache-dir always on downloads
  • Fix app applying replace in metadata title for playlist items when quick downloaded and data was fetched after a while
  • dont apply write info json on yt playlist links
  • add back btn to webview in the menu
  • add green and blue icons
  • remove app autofocusing on the command textview in the command tab

New Contributors

Autogenerated Changes

New Contributors

Full Changelog: v1.8.7.2...v1.8.8

1.8.7.3-beta-2

20 Feb 11:28
0127268

Choose a tag to compare

1.8.7.3-beta-2 Pre-release
Pre-release

What's Changed

Packages rewrite

Bumped up target sdk back to 36. Since beyond skd28 downloadable executables can't execute, the only way to make them executable is if they are part of jniLibs inside the app OR inside another app. So now downloadable packages are shipped as apks u can install. The app will immediately recognize them.

The package apks are simply empty apps with jniLibs folder in them containing libxxx.so and libxxx.zip.so. libxxx.zip.so are extracted within the ytdlnis internal directory, and libxxx.so is accessible throughout the android system.

Also, added a loading dialog on the start of the app to note that the packages are loading, since you could technically speedrun the app and then start a download before the library is init and it fails.

Android 16 Live Notifications

Now the app supports the new live notification feature for download jobs. If you have concurrent downloads, it will make separate live notifications for each.

Everything else

  • Remove error code 100 from success codes, it was causing errored downloads to not go to errored screen
  • Made app not hardcode @latest when using custom yt-dlp update repository
  • fix beta1 crashing when sharing link to the app, sorry lol
  • fix app putting premerged videos before video only formats when fetching from newpipe
  • made app pre-sort audio formats from newpipe by highest bitrate, for default users
  • fix app not applying embed thumbnail in compatible mode for some reason
  • add AI policy to contributing.md
  • add feature to reapply old codec and video container preferences when disabling compatible mode
  • remove redundant +br +fps +res from worst audio in quick download
  • fix app showing repeated aria2c logs in logs screen
  • made app give more importance to preferred language than prefer drc audio on quick download
  • made use_app_language_for_metadata false by default
  • fix ytdlp not auto downloading when app starts and erroring out, made it wait for runtime to start
  • fix exporting the temp files generates a folder named "0" and an extra "storage/emulated/0/…" directory inside, LOL
  • fix app not showing generic format ids in format selection screen, without restarting app
  • made cache export only export temporary download files and not other config files like infojsons or other ytdlp temp files
  • add --replace-in-metadata "playlist,playlist_title" "^.*$" "NAME" if use item url instead of playlist url is applied
  • add %(rownumber)s as metadata instead of modifying autonumber start. use that in filename template to do the same thing as autonumber when downloading multiple items at once
  • add 968kbps for audio bitrate setting
  • merge thumbnail chips in audio download in a single dialog to save space

Autogenerated Changes

New Contributors

Full Changelog: v1.8.7.3-beta...v1.8.7.4-beta

Updated to commit 7498cdb

1.8.7.3-beta

08 Feb 13:33
dda6596

Choose a tag to compare

1.8.7.3-beta Pre-release
Pre-release

What's Changed

Package Integration

This was long overdue, and the next progression from this app. Instead of releasing new versions of the app when packages like python, ffmpeg etc need upgrades, now the app can manage both bundled and downloadable packages.
Packages will be published in a separate repository.

You can also import zip if you have it locally.
Currently what is published is nodejs 25.3.0 and previous versions of ffmpeg and python.
I downgraded ffmpeg to 7.0.1 for this release to reduce filesize, but ffmpeg 7.1.1 is available to download.

YoutubeDL-Android rewrite

Since the package integration, the library had to undergo many changes so i decided to rewrite everything and integrate it within the app. Also fixed some other issues. In future releases i will have more control how commands are executed.

Other changes

  • Add remove audio as preference in the settings
  • Add also download as audio as preference in the settings
  • fix app not adding trailing spaces when adding command templates in the download card
  • remove hardcoded --no-cache-dir from youtubedl-android
  • add vorbis to audio containers
  • some metadata command rework for title and author
  • for errored downloads, long press redownloads and press sends to download card
  • delete info json files after updating yt-dlp
  • tried fixing po token no auth generation, lmk
  • add badge to the filters in download history fragment
  • fix app sometimes showing "watch" in result titles
  • apply prefer drc audio format in quick downloads for video tab
  • move use header from cookies screen to advanced since UA overriding breaks the tabs (playlist, releases, etc.) extraction, too
  • add write info json when fetching formats aswell
  • fix preference compatible video not applying in download card
  • enforce avc and acc codecs when enabling compatible video
  • made double tap of the downloads screen to open the search bar
  • update to newpipe 0.25.2
  • use --ppa VideoConvertor+ffmpeg_o:-c:v libx264 -c:a aac -profile:v baseline for compatibility mode toggle, should now be truly compatible lol
  • apply prefer drc preference even in quick download
  • truncate match filter logs to prevent crashes
  • add --cache-dir always on downloads

Autogenerated changes

Full Changelog: v1.8.7.2...v1.8.7.3-beta

1.8.7.2

04 Jan 16:28
27bdde9

Choose a tag to compare

What's Changed

F-Droid integration

  • disabled auto-update of the app. (I will try to make build flavors in the following release so i can re-enable it for just github releases)
  • Added Queue as default tab in the bottom navigation
  • Add Hook in sponsorblock categories
  • More translations

Autogenerated Changes

Full Changelog: v1.8.7.1...v1.8.7.2

1.8.7.1

02 Jan 16:12
d3e1067

Choose a tag to compare

What's Changed

Filename Template Live Preview & Info JSON

Brought back info json feature to prevent the app from calling servers twice. Also with all the metadata stored in a file, i added the feature to preview the filename template.
You can turn off using info json if you'd like in advanced settings.

Icon Picker

You can select the icon and not have it update depending on theme. I am open to custom icons if you'd like, ill add them to the app.
Looking at you decipher :P

Other stuff

  • Fix app closing webview when leaving the app. You have to return from recents and not relaunch the app.
  • Add time to the backup filename
  • Reversed don't prefer DRC audio to prefer DRC audio preference
  • Fix items in navigation rail in landscape being cut off
  • Fix youtube playlist link fetching being null
  • Add Hausa language
  • Add intent for quick download in the share menu. You can enable it in the general settings. This ignores the download card and downloads immediately.
  • Consider "creators" field when parsing author in the app
  • Add youtube charts support for newpipe home recommendations
  • Fix observe sources items not showing properly in light mode

Autogenerated Changes

New Contributors

Full Changelog: v1.8.7...v1.8.7.1

1.8.7

15 Nov 17:20
4c23062

Choose a tag to compare

What's Changed

Add QuickJS runtime

Implements yt-dlp's --js-runtimes command to help with many website challenges while fetching data and downloading.
Hopefully with this many of the current issues are resolved

  • Upgrade to ffmpeg 7.1.1
  • Fix hardcoded user id in path so it supports multiple users
  • fix --cache-dir not properly formatted when used as command template
  • Add toggle to always update yt-dlp before downloading

Pushing this release quickly because js runtime is vital now. Happy downloading :)

Autogenerated changes

  • Translations update from Hosted Weblate by @weblate in #954
  • Translations update from Hosted Weblate by @weblate in #964
  • Translations update from Hosted Weblate by @weblate in #974
  • Translations update from Hosted Weblate by @weblate in #977

Full Changelog: v1.8.6...v1.8.7

1.8.6

12 Oct 13:40
1997b04

Choose a tag to compare

What's Changed

  • Fix app sometimes giving you dubbed audio format instead of original audio
  • Fix app crashing sometimes when pasting a link to terminal, also btw u can enable color highlight if disabled, wont crash the app i guess
  • Make sponsorblock preference clear by default
  • For playlists app now uses --lazy-playlist to load large playlists continuously in pages like newpipe does, its faster
  • Enable / Disable certain cookie records instead of all at once
  • Add option to write cookie description or label
  • Add GIF to video containers
  • Don't apply sponsorblock api url if sponsorblock is disabled
  • Add --no-check-certificates command when aria2 is applied
  • Add embed thumbnail toggle in adjust video chips
  • Some video chips are combined into one with hidden dialog menu when clicked to save space
  • Add badges on the adjust audio/video chips with hidden menus so u can know how many settings are active on each of them
  • Don't apply generated po tokens when cookies are disabled
  • remove data sync id fetch from normal cookies webview, only in po token webview
  • Add filename template selection in the terminal screen
  • Add toggle to not prefer DRC Audio formats
  • Add ability to long press the terminate button to show the warning dialog even if u checked to not show it
  • Add warning in the download card if selected format is too big (if format size is known, also this is an approximate as format size could change in the final file)
  • Removed prefer smallest formats preference and instead u can select if u prefer small formats or large size formats
  • fix app deleting custom cache folder when clearing temporary data
  • apply proper autonumber metadata for each item when downloading multiple items
  • add ability to remove file from mediastore when deleting file
  • fix app crashing when sometimes yt-dlp results subtitles as null instead of an array
  • Other small details and changes i forgot to note idk

Advanced changes

  • Added toggle to disable --flat-playlist when data fetching
  • Add Subs PO Token support when generating po token
  • PO Token generation now has two modes, Auth and Non Auth
  • Added toggle to use the url user gave to the app as playlist url instead of the playlist_webpage_url tag from the json dump

Autogenerated changes

New Contributors

Full Changelog: v1.8.5...v1.8.6

1.8.5

28 Jul 20:30
2c5b658

Choose a tag to compare

What's Changed

Bulk Edit items in the Multiple Download Card #817

Now you can select a subset of the items in the multiple download card and apply changes only to them.

  • Select items between 2 items
  • Write down item indexes to select
  • remove items
  • Invert selected
  • All options in this screen that previously could apply to all items are implemented for this function.

Also if you select a sublist and try to update formats and decide to update in the background, the app will remember the other items you didnt select when you return back to it but only the selected items will have their formats updated of course.

Other changes:

  • App now can show FFmpeg output in the download card to avoid confusion on cases where it might appear as if the download is stuck but its running a ffmpeg subprocess
  • App can now downgrade to stable when in beta. You will get a popup to update to the prev stable release if you installed from github and had use beta disabled
  • Fixed app crashing if yt-dlp sources in preferences is badly written
  • Fixed app having multiple columns for format items instead of just one #800
  • Clear results when changing home recommendation source to avoid confusion
  • Fix app passing --cache-dir twice in the command
  • Remove buffer time in cut player, could help it load faster
  • Fix app not consistently preferring codec in a format
  • Prevent app from showing 'null' in author field if its not available #814
  • Change text to be Sentence Case #793
  • Add feature to convert audio bitrate up to 320kbps. * Even though it doesnt really increase quality many people requested it so here you go
  • Added feature to show available subtitles a video has when selecting subtitle languages
  • Made default subtitle format default instead of srt
  • Fix app not properly putting data fetching extra commands in some cases
  • Added "system" option in language selection so it follows the system language always
  • Fixed app crashing when putting unreal numbers in cut section
  • Hid download all and clipboard chip when selecting items to avoid confusion
  • Added separate icons for success, running and failed downloads
  • Used ^.*$ for replace-in-metadata
  • Groupped finished, running, errored notifications
  • Added subs in po token creator screen
  • Fix download failing when title has forbidden characters #847
  • Fix titles doubling up #835
  • Add option to reverse items in the multiple download card
  • Made app not restart when restoring backup
  • Fix app not removing items that you redownload from cancelled/erroret etc
  • Other small stuff i forgor

For advanced users:

For anyone who is using intent arguments in YTDLnis for automation, the COMMAND argument has been removed. This is due to a found security vulnerability by SonarPaul where user information and app integrity could be compromised. Read the pdf for more information in the YTDLnis Updates Telegram Channel.

If you were using that argument for extra commands with audio/video downloads, you could make a command template about it and use it as extra command and also add a url regex if you want.

Autogenerated Changed

New Contributors

Full Changelog: v1.8.4...v1.8.5