do-release-upgrade no new release found fix
If do-release-upgrade dey show no new release found, check your Prompt setting for /etc/update-manager/release-upgrades. We show you how to bypass LTS gates and fix held packages.
Why do-release-upgrade dey tok say no new release found
do-release-upgrade wey end for No new release found. no mean say the tool don spoil. The path wey you ask for dey close for that moment, and the tool just dey report wetin e see. Five things fit close am: the Prompt setting for inside /etc/update-manager/release-upgrades, the point release gate for LTS (long term support) upgrades, third-party repositories, packages wey dem hold or wey no finish configuration, and release wey don pass im end of support date.
Follow this order take check am. Each one get command wey go show whether e apply to your server, so you no go need guess which one among the five you dey face.
Wetin the check-only flag dey actually report
sudo do-release-upgrade -c
echo $?-c na check-only flag. E dey read Canonical release metadata over HTTPS (hypertext transfer protocol secure) con print the answer. E no dey download any upgrade tool and e no dey rewrite any source file. Two outputs dey important:
Checking for a new Ubuntu release
No new release found.Checking for a new Ubuntu release
New release '26.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.The exit code get the same answer for scripts. E be 0 when release dey available and 1 when none dey, wey be the opposite of how shell convention normally dey work, so make you read am well before you build any check around am.
If your login banner still dey show the old answer, e mean say e dey cached. That line dey come from /etc/update-motd.d/91-release-upgrade, wey dey print stored result instead of make e ask the network. Refresh am with sudo /usr/lib/ubuntu-release-upgrader/release-upgrade-motd, or just trust -c. The banner only dey repeat the result of the last check wey run.
The check also need to reach changelogs.ubuntu.com. For server wey dey behind strict outbound firewall or proxy, the tool no fit ask, so e no go fit find anything.
curl -sI https://changelogs.ubuntu.com/meta-release-lts | head -n 1One HTTP/2 200 line mean say the server fit see the metadata. One curl: (28) Connection timed out mean say your egress rules na the real cause, and no matter how you edit APT (advanced package tool) files, the answer no go change.
If the command no dey at all, e dey inside ubuntu-release-upgrader-core. Minimal cloud images sometimes no dey include that package.
sudo apt install ubuntu-release-upgrader-coreRead /etc/update-manager/release-upgrades before you change anything
cat /etc/update-manager/release-upgrades[DEFAULT]
Prompt=ltsThe file get im own documentation inside comments. Three values dey valid:
never: make e never check for, and never allow, upgrade to new release.normal: offer the supported release wey follow the one wey dey run immediately.lts: offer the first LTS release wey follow the one wey dey run.
Prompt=never na the easiest one to diagnose, because the tool dey call the file name and the setting name for im output:
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt is set to never so upgrading is not possible.Hosting providers and configuration management tools dey set never intentionally, to stop server fleet from moving between releases. If you see am there, na person choose am. Change am to lts if you want your server to dey on the long term support track, and return am back if your automation expect the old value.
One detail for those comments dey confuse people. When Prompt=lts dey set and the release wey dey run no be LTS release, the upgrader dey treat the setting as normal. For 25.10 machine, the two values dey behave the same way. For 24.04 machine, dem no dey behave the same way, and that difference na wetin the next section dey talk about.
Why upgrade from one LTS to another one dey wait for the first point release
Prompt na im dey decide which metadata file the upgrader go read. The addresses dey inside /etc/update-manager/meta-release:
[METARELEASE]
URI = https://changelogs.ubuntu.com/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposedPrompt=lts dey read meta-release-lts. Prompt=normal dey read meta-release. Both files describe every release inside small block of keys, and the upgrader go only offer you release if im Supported: flag dey set to 1. You fit read dem yourself, from the same server:
curl -s https://changelogs.ubuntu.com/meta-release-lts | grep -A 4 resolute
curl -s https://changelogs.ubuntu.com/meta-release | grep -A 4 resoluteWhen we check am for 13 August 2026, the two files no gree for Ubuntu 26.04. The LTS file talk say:
Dist: resolute
Name: Resolute Raccoon
Version: 26.04 LTS
Date: Thu, 23 April 2026 00:26:04 UTC
Supported: 0The plain file talk say:
Dist: resolute
Name: Resolute Raccoon
Version: 26.04 LTS
Date: Thu, 23 April 2026 00:26:04 UTC
Supported: 1That Supported: 0 wey dey inside the LTS file na im be the gate. One 24.04 server wey dey use the default Prompt=lts go read that file, e no go see any newer LTS release wey dem mark as available, and e go print No new release found.. Nothing wrong with your machine. Canonical never open the path yet.
Flag go change to 1 when the first point release ships. Ubuntu 26.04.1 schedule na 27 August 2026, and release schedules fit change, so check the metadata instead of calendar. Point release no be new version of Ubuntu. Na the same release wey get every update since launch folded inside fresh install media only. So, wetin matter for server wey dey run na the gate wey e open, not the media itself. The delay na deliberate: people wey upgrade early go find the blockers, and dem go fix those blockers before the much bigger number of LTS servers follow. If that date don pass by the time you read this, wetin 26.04.1 ship with and wetin e mean for 24.04 server go continue the story from there.
That one leave two honest options. Wait for the point release; na the correct choice for any server wey you no wan dey monitor. Or set Prompt=normal, wey point the same tool go meta-release, where 26.04 don already get support marking. The second option go upgrade you to the released 26.04, no be development build, so e make sense for machine wey you fit restore from snapshot. Set the value back to lts when you don finish. The procedure itself, step by step, dey for the full 24.04 to 26.04 server upgrade walkthrough. Server wey still dey on 22.04 get one extra hop, because Prompt=lts only ever offer the next LTS release, so the route from 22.04 to 26.04 dey pass through 24.04 first.
Third party repositories and PPA wey dey block upgrade
The upgrader dey rewrite your APT sources make e point go the new release. E fit only do that for repository wey get files for the new release, so any other one dem go comment out. The reasons dey show one line per entry, and dem dey specific: was disabled (unknown mirror), was disabled (unknown dist), and was disabled (no Release file).
PPA (personal package archive) wey dem build for noble no get directory for resolute for the server, so the upgrader no fit fetch Release file for the new series and e go disable the entry. Usually, this na warning wey you fit accept. E go turn to stop if third party repository supply package wey the new release sef get, because the upgrade calculation go get two candidates and no way to satisfy both.
Decide this one by yourself before you start, instead of make the tool decide during long unattended run.
ls /etc/apt/sources.list.d/
apt policy nginx
sudo add-apt-repository --remove ppa:example/ppaapt policy on top package name go print which repository each installed version come from, so you fit see exactly which packages depend on the source wey you wan disable. To remove the source no go downgrade anything, so package wey you install from PPA go stay for e PPA version and fit even newer pass wetin the new release get. Where that one matter, remove the package too, and reinstall am from the archive after the upgrade. Repository wey you plan to bring back, like Tailscale, need make you update e codename to the new release before the package go install again, na there most Tailscale install errors on Ubuntu dey come from.
One flag dey for the opposite choice. The manual page describe --allow-third-party as "Try the upgrade with third party mirrors and repositories enabled instead of commenting them out." Use am only when you don confirm say the repository don already publish for the target release. If e no do so, you don ask APT to resolve dependency graph against series wey that repository never build for.
On Ubuntu 24.04 and later, most sources dey live for /etc/apt/sources.list.d/ubuntu.sources inside the deb822 format. The same repository wey dem write for both old and new format na separate error wey get e own message, wey we cover for the duplicate source entry error in deb822 format.
Packages wey dem hold or wey no finish configuration dey stop the calculation
Release upgrade must move almost every package for the system. If one package no fit move, the calculation go fail, and the upgrader go prefer to stop early instead of leave you for middle. Two commands fit find the cause.
apt-mark showhold
sudo dpkg --auditapt-mark showhold dey print packages wey dem hold, one per line, and e no go print anything if the system clean. Hold na manual instruction make dem no change that package. Maybe person pin kernel, or database version, and come forget. Release the ones wey you no need again with sudo apt-mark unhold follow by the package name.
dpkg --audit dey list packages wey dem unpack but dem no configure dem. That state dey happen if installation cut, mostly because session drop. The upgrader go try repair am and print dpkg interrupted, calling dpkg --configure -a, but if you run the repair yourself first, you go fit read the error instead of make e just dey scroll pass. Package wey the tool no fit repair go show message Package in inconsistent state, and you must look that one before you try again.
Make sure the current release dey fully up to date before you upgrade am.
sudo apt update
sudo apt full-upgrade -o APT::Get::Always-Include-Phased-Updates=true
sudo apt --fix-broken install
sudo dpkg --configure -a
sudo rebootThe phased updates option get more importance pass how e dey look. Ubuntu dey release some updates to small percentage of machines at a time, so ordinary apt upgrade fit leave packages behind, and the server no go dey as current as you think. That option go take all of dem. Reboot after you finish if kernel dey among the updates, so you go fit upgrade from the kernel wey you dey run currently. Server wey already dey patch itself through unattended security upgrades get small work to do here, even though that mechanism no dey cross release boundary by design.
Wen di release don pass di time wey dem dey support am
Dem dey support interim Ubuntu release for nine months. Wen dat support finish, di Supported: flag go change go 0, and di normal path no go gree upgrade from dere again. Wen we check am for 13 August 2026, meta-release talk dis one about 25.10:
Dist: questing
Name: Questing Quokka
Version: 25.10
Date: Thu, 09 October 2025 00:25:10 UTC
Supported: 0Di archive dey move for di same time. Dem dey commot packages for release wey don reach end of life from archive.ubuntu.com and keep dem for old-releases.ubuntu.com. So apt update go start to dey return 404 Not Found, di system no go fit update again, and because di upgrader must see current system, nothing go fit work. Make you fix di sources first.
lsb_release -cs
grep -rn ubuntu.com /etc/apt/sources.list /etc/apt/sources.list.d/Point both archive.ubuntu.com and security.ubuntu.com go old-releases.ubuntu.com, and make you no touch your codename. Na only di host name go change.
sudo sed -i.bak -e 's/archive.ubuntu.com/old-releases.ubuntu.com/g' \
-e 's/security.ubuntu.com/old-releases.ubuntu.com/g' \
/etc/apt/sources.list.d/ubuntu.sources
sudo apt updateRun di same command against /etc/apt/sources.list instead if your server still dey keep its sources for dat one file. Di -i.bak option go save backup near di original one, so you fit put am back if you edit di wrong file. One clean apt update afta dat one mean say di archive dey reachable again, and do-release-upgrade go come dey talk to you.
Make you dey realistic about how far dis one go carry you. Ubuntu dey support one release step at a time, so if your server dey two or three dead releases behind, you need follow every step one by one, and each step fit fail because of third party repository or package wey dem hold. For VPS, e dey usually faster to build new server for di current LTS, move your service go dere, and keep di old one until you sure say everything dey okay. Dat one still give you rollback, wey upgrade wey you do for inside di same system no fit give you. If you dey choose which track you go follow afta dis one, di difference between LTS and interim releases for server na beta tin to read before you decide.
Wetin the development release flag really dey do
-d, or --devel-release, dey make the upgrader read meta-release-development instead of the file wey Prompt select. The manual page talk am say "If using the latest supported release, upgrade to the development release."
We check am for 13 August 2026, the newest entry for that file no be 26.04:
Dist: stonking
Name: Stonking Stingray
Version: 26.10
Date: Thu, 15 October 2026 00:26:10 UTC
Supported: 0So -d no dey give 24.04 server the released 26.04. E dey point go 26.10, one release wey dem still dey arrange. Old advice wey talk say "just add -d" na for the time before LTS release, and if you still dey use am now, e go point your server go place wey you no intend. With Prompt=lts still for there, the flag go stop with im own message:
There is no development version of an LTS available.Ubuntu server documentation talk am straight about the flag: "using the development release (or the -d flag) is not recommended for production environments". Development release dey change every day and e no get any promise for security support, so package wey dey work for morning fit break your service for afternoon. Use am for scratch virtual machine wey you build to test your own configuration. No use am for server wey people dey depend on. When you want released 26.04 before the LTS gate open, Prompt=normal na the correct road to follow.
Run the upgrade wey SSH session wey cut no go fit spoil
Release upgrade dey replace most parts of the system, including openssh-server and systemd. If your SSH (secure shell) session die while dpkg dey work, dem go kill the process while some packages don unpack but never configure. Na exactly this state dey stop your next attempt. If this don happen to you already, how to recover upgrade wey stop halfway na separate work, and you must do am before any second attempt. Start upgrade inside terminal multiplexer every time.
sudo apt install -y tmux
tmux new -s upgrade
sudo do-release-upgradeIf the connection cut, log back in and run tmux attach -t upgrade. The upgrade go still dey run, because e be child of the tmux server, no be your SSH session. screen -S upgrade and screen -r upgrade dey do the same work if you prefer screen.
The upgrader get im own safety net for pipo wey no dey use multiplexer. When e detect say e dey run under SSH, e go offer to start second sshd for port 1022, so if the main session cut, you go still get way to enter. E dey decide by checking im own parent processes to find one wey dem call sshd. Inside tmux or screen, that check go find the multiplexer server instead, so the offer no go show, and the pid file /var/run/release-upgrader-sshd.pid go only write when the extra daemon actually start. Nothing dey wrong if you no see the prompt. You already get the better protection.
If you accept the offer, the port no go open by itself. The tool go tell you clearly, because to open port na security decision wey the tool no get right to make for you. Open am for the time wey the upgrade go take, then close am back.
sudo ufw allow 1022/tcp
sudo ufw delete allow 1022/tcpMost VPS providers dey run second firewall for dia control panel, outside the operating system. You must open port 1022 for there too, if not, the fallback listener go dey run but you no go fit reach am, and that one na the worst case.
Four things must dey ready before you type the command:
- Take snapshot or full backup. In-place release upgrade no get undo, and na this one be your only chance.
- Confirm say you fit open your provider console before you need am. If the server no come back after e reboot, SSH na the exact thing wey you no go get. Kernel wey fail to boot na different problem wey get im own recovery steps, wey we cover for a VPS that will not boot after a kernel update.
- Check free space with
df -h / /boot. The upgrade dey download full set of packages, and/bootpartition wey keep plenty old kernels na common place wey upgrade fit stall. - Read the release notes for the services wey you dey run. Major version jump for PostgreSQL or PHP go come with the release, whether you plan for am or not.
FAQ
Why does do-release-upgrade say no new release found on Ubuntu 24.04?
Di default Prompt=lts wey dey inside /etc/update-manager/release-upgrades dey make di tool read https://changelogs.ubuntu.com/meta-release-lts, and Ubuntu 26.04 still get Supported: 0 for inside dat file until di first point release come out. Di upgrader no go see any new LTS release wey dem mark as available, so e go just stop. Check di file yourself wit curl -s https://changelogs.ubuntu.com/meta-release-lts and read di last block. Wen we check am for 13 August 2026, di flag still be 0, and dem schedule Ubuntu 26.04.1 for 27 August 2026.
Is it safe to set Prompt=normal instead of waiting for the point release?
E go upgrade you go di release version of 26.04, e no be development build, because Prompt=normal dey read meta-release, wia 26.04 don already get Supported: 1. Di wahala na di time. You dey upgrade before dem don fix di bugs wey early upgraders find. Do am for server wey you fit restore from snapshot, and wia you fit reach di provider console if di reboot get issue. Set di value back to lts after you finish.
Does the -d flag upgrade me to 26.04?
No. -d dey read meta-release-development, wey di newest entry for 13 August 2026 na Ubuntu 26.10, wey still dey development. For LTS machine wey get Prompt=lts, di flag go print There is no development version of an LTS available. and stop. Ubuntu server documentation talk say make you no use development release for production, so use Prompt=normal if you want di released 26.04 early.
apt update returns 404 errors on an old release. How do I upgrade it?
Dat release don reach end of life, so dem don move di packages from archive.ubuntu.com go old-releases.ubuntu.com. Change only di host names for /etc/apt/sources.list.d/ubuntu.sources, or for /etc/apt/sources.list if na older layout, and make sure you keep your codename as e be. Den run sudo apt update and sudo apt full-upgrade. Once di system don current, do-release-upgrade fit move am forward one release at a time.
Do I need to remove my PPAs before running do-release-upgrade?
You no must remove dem, because di upgrader go comment out any source wey no get package for di new release and e go print line like was disabled (no Release file) for each one. E better make you do am yourself first, so you go fit choose di order and see wetin happen. Run apt policy for di packages wey you care about to find which one come from which PPA, den reinstall dem from di archive if di PPA version newer pass di one wey di new release get.