Debian Release Cycle
Debian has multiple releases at different maturity levels: Stable, Testing, and Unstable.
Release Names
Stable (current) — thoroughly tested, conservative updates, security fixes for ~5 years
Testing (next) — receives new package versions daily, tested less, becomes stable every 2 years
Unstable/Sid — bleeding-edge, permanent, breaks frequently, for developers only
Old Stable — previous stable release, gets security updates for ~1 year after new stable
Current (as of 2024):
Check Current Release
cat /etc/os-release
cat /etc/debian_version
lsb_release -a
Switching Releases
To upgrade from Stable to Testing:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sudo apt update
sudo apt full-upgrade
Then reboot:
sudo reboot
Upgrade Path
Stable → Testing: possible, expect breakage
Testing → Unstable: possible, expect major breakage
Never downgrade: once upgraded, can only upgrade further
Release Timeline
Major releases every ~2 years. Typical cycle:
Testing — development, ~1 year
Freeze — bug fixes only, feature freeze
Release — becomes new Stable
Security Updates
Stable: Long-term support, frequent security updates
Testing: Less frequent security updates
Unstable: No guarantees, for developers
Production servers should run Stable. Never Unstable.
Release Schedule
See Debian release info:
https://wiki.debian.org/DebianReleases
Release dates are announced well in advance but are “when ready,” not fixed.
Distribution Codenames
Tips for Stability
Use Stable for production
Use Testing only if you need newer packages
Use Unstable only for development
Run apt full-upgrade before critical work (never during)
Backup before major upgrades
Read release notes before upgrading