The get_auto_removable function in unattended-ugprades just checks to see if the package has the "is_auto_removable" flag set. So setting "Unattended-Upgrade::Remove-Unused-Dependencies" to "true" will produce the same outcome as using "sudo apt autoremove" e.g.:
bdmurray@clean-xenial-amd64:~$ sudo apt autoremove
[sudo] password for bdmurray:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
libllvm3.8 libmircommon5 libsnapd-glib1 linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic linux-image-4.4.0-31-generic
linux-image-extra-4.4.0-31-generic snap-confine snapd-login-service ubuntu-core-launcher
The get_auto_removable function in unattended-ugprades just checks to see if the package has the "is_auto_removable" flag set. So setting "Unattended- Upgrade: :Remove- Unused- Dependencies" to "true" will produce the same outcome as using "sudo apt autoremove" e.g.:
bdmurray@ clean-xenial- amd64:~ $ sudo apt autoremove 4.4.0-31 linux-headers- 4.4.0-31- generic linux-image- 4.4.0-31- generic image-extra- 4.4.0-31- generic snap-confine snapd-login-service ubuntu- core-launcher
[sudo] password for bdmurray:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
libllvm3.8 libmircommon5 libsnapd-glib1 linux-headers-
linux-
bdmurray@ clean-xenial- amd64:~ $ sudo unattended-upgrade --dry-run service: amd64 libsnapd- glib1:amd64 linux-headers- 4.4.0-31- generic: amd64 linux-headers- 4.4.0-31: all linux-image- extra-4. 4.0-31- generic: amd64 linux-image- 4.4.0-31- generic: amd64 snap-confine:amd64 ubuntu- core-launcher: amd64
/usr/bin/dpkg --status-fd 9 --force-depends --remove libllvm3.8:amd64 libmircommon5:amd64 snapd-login-
/usr/bin/dpkg --status-fd 11 --configure --pending
So I think the question here is whether or not we think it is safe to run autoremovals without user interaction.