Enable upgrading from LTS to non-LTS versions (22.04 to 22.10, 20.04 to 20.10, 18.04 to 18.10)
On 20.04, they've added a clearer message to the failing sudo do-release-upgrade:
Checking for a new Ubuntu release
There is no development version of an LTS available.
To upgrade to the latest non-LTS develoment release
set Prompt=normal in /etc/update-manager/release-upgrades.
Previously, e.g. from 18.04 to 18.10, it was sometimes just giving a unclear error message as reported by the OP:
Please install all available updates for your release before upgrading
The solution to both of those is to go into:
software-properties-gtk
or access it through the Windows key dash where it is named:
Software & Updates
Then:
- "Updates" tab
- "Notify me of a new Ubuntu version" dropdown
- "For any new version"

Alternatively, you can do what the GUI does on the CLI with:
sudo sed -i 's/^Prompt=.*/Prompt=normal/' /etc/update-manager/release-upgrades
Then as usual:
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo do-release-upgrade
As of 22.04, to make some of the above work, you might also need to fight ZFS out of space stuff that Ubuntu simply refuses to fix, it is so tiring: Out of space on boot zpool and cant run updates anymore
zfs list -t snapshot -r | grep auto | cut -f1 -d' ' | xargs -n 1 sudo zfs destroy
Without the For any new version setting, it failed to find the new version with:
No new release found.
For some reason, apt-get missed one of the upgrades and I got:
Please install all available updates for your release before upgrading."
only apt worked.
19.10 to 20.04: manually install any packages that didn't automatically upgrade
I came across this when trying to upgrade from 19.10 to 20.04 and it has the same Please install all available updates for your release before upgrading error message, so I'll also give the solution here for Googlers.
When I tried the usual:
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo do-release-upgrade
sudo apt upgrade told me:
The following packages have been kept back:
libomp-dev
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
and then do-release-upgrade gave the Please install all available updates for your release before upgrading. error.
The solution was to manually install libomp-dev:
sudo apt install libomp-dev
This gave me some conflict resolution options, I picked one of them, and then do-release-upgrade worked!
sudo apt upgrade libomp-dev did not work, only apt install did, upgrade failed with:
The following packages have unmet dependencies:
libomp-dev : Depends: libomp-9-dev (>= 9~) but it is not going to be installed
E: Broken packages
On another occasion from 23.10 to 24.04 I got:
The following packages have unmet dependencies:
libmutter-13-0-dbgsym : Depends: libmutter-13-0 (= 45.2-0ubuntu5) but 45.2-0ubuntu4 is to be installed
E: Unable to correct problems, you have held broken packages.
and I managed to solve by removing:
sudo apt remove libmutter-13-0-dbgsym
which felt safe as I think it's just the debug symbols.
do-release-upgrade -d enables development versions, which is not what you generally want
I advise against do-release-upgrade -d unless you really know what you are doing as that upgrades to unstable development versions, which is not something that most users want.
The upgrade only becomes available a few days/weeks after the ISO is released
Also note that the upgrade is not released at the exact same time as the 18.10 disk comes out, it seems that you have to wait a few days until 18.10.1 is released before upgrading.
If you try sudo do-release-upgrade before that, you still get:
No new release found.
The ".0" ISO is also generally incredibly buggy and everyone knows this and avoids it. E.g. when I tried the 21.04 ISO the UI was randomly crashing likely due to Wayland: Ubuntu UI screen image freezes randomly during usage after fresh 21.04 install, suspecting Wayland or Nouveau And a 24.04.0 clean ISO install was blowing up endless error popups: https://x.com/cirosantilli/status/1792792620323967227
So just treat .0 as a debug version, and wait for the .1 to come out unless you want to help debug it.