Ubuntu Release Cycle Explained
Ubuntu ships a new release every six months — in April and October. Every fourth release (in April of even-numbered years) is a Long Term Support release. Understanding this cycle helps you plan upgrades, know when to expect security patches, and decide whether a new package version in an interim release is worth the shorter support window.
The six-month development cycle
Each Ubuntu release follows a roughly six-month development schedule. Canonical imports the latest Debian unstable packages at the start of the cycle, updates software versions, adds Ubuntu-specific patches, and then freezes the archive for testing. The schedule for each release is published at the Ubuntu wiki.
| Month | Milestone | What it means |
|---|---|---|
| Month 1–3 | Feature development | New package versions imported, Ubuntu patches applied |
| Month 4 | Feature Freeze | No new features; only bug fixes allowed |
| Month 5 | Beta 1 & Beta 2 | Public testing releases; community bug reports |
| Month 6, week 3 | Release Candidate | Final testing before release |
| Month 6, final week | General Availability | Release published to ubuntu.com |
What happens during a release cycle
From a package consumer’s perspective, the cycle determines which package versions you get:
- Package import: Canonical syncs packages from Debian unstable into the Ubuntu development archive. This is why Ubuntu often has packages that are slightly newer than Debian stable.
- Version freeze: At Feature Freeze, the versions of packages are locked. No new upstream versions are accepted after this point (except for security updates).
- Security updates: After release, the Ubuntu Security Team issues patches as
-securitypocket packages. These are the updates you apply withsudo apt upgrade.
LTS point releases
LTS releases receive point releases (22.04.1, 22.04.2, etc.) every six months. A point release is not a new release — it is a refreshed ISO that includes all security updates and bug fixes published since the initial release. If you download Ubuntu 22.04.4, you are downloading 22.04 with two years of patches already applied.
# Check your exact Ubuntu version including point release
lsb_release -a
cat /etc/os-release
# Check your exact kernel version
uname -r
Example output
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
Point releases also update the default kernel to the latest HWE kernel, which brings support for newer hardware to the LTS release without requiring an OS upgrade.
Hardware Enablement stack
The Hardware Enablement (HWE) stack is how Ubuntu brings newer kernel and display server versions to an existing LTS release. For Ubuntu 22.04:
- The initial kernel at release was 5.15 (the GA kernel)
- Ubuntu 22.04.3 shipped with the 6.2 HWE kernel (from Ubuntu 23.04)
- Ubuntu 22.04.4 shipped with the 6.5 HWE kernel (from Ubuntu 23.10)
The HWE kernel is important for systems with hardware released after the LTS. It adds drivers for newer NVMe controllers, CPUs, NICs, and GPU features.
# Check if you have the GA or HWE kernel
uname -r
# GA kernel example: 5.15.0-105-generic
# HWE kernel example: 6.5.0-35-generic
# Install the HWE kernel on Ubuntu 22.04
sudo apt install linux-generic-hwe-22.04
# Check HWE support status
hwe-support-status
How to upgrade between releases
Ubuntu supports in-place OS upgrades using the do-release-upgrade tool. The supported upgrade paths are:
- LTS to next LTS: 20.04 → 22.04 → 24.04 (supported, recommended)
- Non-LTS to next release: 23.04 → 23.10 → 24.04 (supported but each step must be taken)
- Skipping an LTS: 20.04 → 24.04 directly (not supported; you must go through 22.04)
# Check for available upgrades
sudo do-release-upgrade -c
# Perform the upgrade (run in a screen/tmux session!)
sudo do-release-upgrade
# For upgrading to a non-LTS release (interim releases)
sudo do-release-upgrade -d
Always run upgrades inside screen or tmux so an SSH disconnection does not interrupt the upgrade mid-process.
Upgrading best practices
- Snapshot the VM before starting an upgrade so you can roll back if something breaks.
- Check your installed PPAs — third-party PPAs often do not have packages for the new release and can break the upgrade. Disable them first with
sudo add-apt-repository --remove ppa:.... - Upgrade packages first — run
sudo apt update && sudo apt upgradeto ensure the current release is fully up to date before upgrading. - Read the release notes for breaking changes (e.g., PHP version changes, MySQL default auth plugin changes).
- Test in a staging environment before upgrading production.
# Pre-upgrade checklist
sudo apt update && sudo apt upgrade -y # Ensure current release is updated
sudo apt autoremove # Clean up unused packages
sudo apt list --upgradable # Review pending updates
screen -S upgrade # Start a screen session
sudo do-release-upgrade # Begin upgrade
Conclusion
Ubuntu’s six-month release cycle gives you a predictable upgrade schedule. For servers, pin to LTS releases and upgrade from LTS to LTS every two years (or less frequently with Ubuntu Pro). Use point releases and the HWE stack to get newer hardware support without changing your OS version. Always use do-release-upgrade rather than trying to manually upgrade package sources, and always test upgrades in a non-production environment first.
FAQ
Why should administrators understand Ubuntu Release Cycle Explained?+
Because this topic affects planning decisions, server lifecycle, compatibility, support expectations, or how you reason about Ubuntu systems before making operational changes.
Do I need a lab for this topic?+
A lab is useful for checking commands and seeing the concept on a real Ubuntu machine, but the main value is understanding the decision, tradeoff, or system behavior clearly.
How should I use this knowledge in production?+
Use it to make better choices, document why those choices were made, and avoid rushed changes that ignore support windows, compatibility, stability, or operational risk.
Need help with Ubuntu administration?
Work directly with Muhammad Irfan Aslam for Ubuntu Server, Linux, cloud, Docker, DevOps, CI/CD, or infrastructure troubleshooting support.
Hire Me for Support