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
- @ChongxiSama made their first contribution in #1087
- @jhaiian made their first contribution in #1109
Autogenerated Changes
- Translations update from Hosted Weblate by @weblate in #1053
- Translations update from Hosted Weblate by @weblate in #1059
- Translations update from Hosted Weblate by @weblate in #1062
- Translations update from Hosted Weblate by @weblate in #1069
- Add README-zh_CN.md by @ChongxiSama in #1087
- Translations update from Hosted Weblate by @weblate in #1076
- Translations update from Hosted Weblate by @weblate in #1090
- Downloadable Plugins Branch by @deniscerri in #1112
- Translations update from Hosted Weblate by @weblate in #1110
- Refactor ShareActivity overlay and fix persistent status bar on Android 8.1 and lower by @jhaiian in #1109
- Text in application signature verification section by @Figim in #1117
- Translations update from Hosted Weblate by @weblate in #1118
- Translations update from Hosted Weblate by @weblate in #1125
- Searchable settings rework by @deniscerri in #1129
- Translations update from Hosted Weblate by @weblate in #1131
- Translations update from Hosted Weblate by @weblate in #1132
New Contributors
- @ChongxiSama made their first contribution in #1087
- @jhaiian made their first contribution in #1109
Full Changelog: v1.8.7.2...v1.8.8