Hello everyone. It's time to take some steps towards a new stable release.
For lack of a better name I'm going to call this ADBTuner 2.0.
For now, this release is scheduled for December 1st, 2025.
The current stable release is quite old and I'm concerned it might be a bumpy upgrade process for some.
For users that have always been on a stable build the upgrade should work just fine. If you have jumped back and forth between stable and development builds there could be some complications.
A beta release is available now using the turtletank99/adbtuner:beta tag.
If your configuration is setup to automatically pull updated versions I suggess you disable that, and/or install the the beta at a time when it would be convenient to troubleshoot any small issues that could come up.
I'm really hoping not to surprise anyone with a broken ADBTuner setup on December 1st.
I appreciate any help I can get in testing this beta build (turtletank99/adbtuner:beta). If you run into any issues please post them here and share Docker logs if possible.
Thanks!
Changes since the last stable release:
Switched to a dedicated proxy server that is always running instead of bringing one up for each stream and tearing it down afterwards. This enabled the following:
- Significantly improved control over tuner locking.
- Streams are now kept active for short while after a disconnect so clients can reconnect and continue watching without having to start over. This fixes issues with dodgy network connections and with client apps that retry if the stream doesn't start immediately (Kodi).
- Tuners will now be shared if more than one client app is streaming the same thing. Shared tuners will be locked until the last client disconnects.
Added experimental support for custom tuning configurations. These configurations can be used to define a set of custom ADB commands for applications that don't work with the default standard or compatibility mode options. A web interface for this is provided at /configurations. This feature is still experimental and may change in the future.
Added health check / status page at /up.
Improved playback detection.
Improved profile screen detection clearing (who's watching).
Added more detailed logging. Specifcally around locked tuners.
Added preview window for each streaming endpoint in the web UI.
Added remote buttons to streaming endpoint preview window for troubleshooting purposes.
Enabled admin preview windows on mobile devices and tablets.
Improved keep alive functionality. This should now work with most applications.
Apps kept awake with the keep alive feature will no longer sit in the foreground. This is preferred as some apps always stream video when they are in the foreground.
By default, all video streams will now start after 20 seconds regardless of if the requested content has started playing. This allows for slow loading content that previously failed if the client connection timed out. The old behavior can be restored by selecting "Terminate Connection" for the "Slow / Failed Tuning Behavior" setting in the admin interface.
Added support for obtaining a deeplink url from a remote endpoint. This can be used by including "dynamic_url_json_key" parameter in the URL. The value should match the key that contains the URL in the json response. This is being used by ESPN+ with Custom Channels via ADBTuner.
And finally, there have been many bug fixes since the last release. This version of ADBTuner should provide a better experience overall.