- Active kernel releases
- Distribution kernels
- Releases FAQ
- When is the next mainline kernel version going to be released?
- What is the next longterm release going to be?
- Why are some longterm versions supported longer than others?
- Does the major version number (4.x vs 5.x) mean anything?
- Does the odd-even number still mean anything?
- Other resources
- Social
- Вышел Linux 6.1
- Вышел Linux 6.0
- Вышел Linux 6.3
Active kernel releases
There are several main categories into which kernel releases may fall:
Prepatch Prepatch or «RC» kernels are mainline kernel pre-releases that are mostly aimed at other kernel developers and Linux enthusiasts. They must be compiled from source and usually contain new features that must be tested before they can be put into a stable release. Prepatch kernels are maintained and released by Linus Torvalds. Mainline Mainline tree is maintained by Linus Torvalds. It’s the tree where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 9-10 weeks. Stable After each mainline kernel is released, it is considered «stable.» Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until next mainline kernel becomes available — unless it is designated a «longterm maintenance kernel.» Stable kernel updates are released on as-needed basis, usually once a week. Longterm There are usually several «longterm maintenance» kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don’t usually see very frequent releases, especially for older trees.
Version | Maintainer | Released | Projected EOL |
---|---|---|---|
6.1 | Greg Kroah-Hartman & Sasha Levin | 2022-12-11 | Dec, 2026 |
5.15 | Greg Kroah-Hartman & Sasha Levin | 2021-10-31 | Oct, 2026 |
5.10 | Greg Kroah-Hartman & Sasha Levin | 2020-12-13 | Dec, 2026 |
5.4 | Greg Kroah-Hartman & Sasha Levin | 2019-11-24 | Dec, 2025 |
4.19 | Greg Kroah-Hartman & Sasha Levin | 2018-10-22 | Dec, 2024 |
4.14 | Greg Kroah-Hartman & Sasha Levin | 2017-11-12 | Jan, 2024 |
Distribution kernels
Many Linux distributions provide their own «longterm maintenance» kernels that may or may not be based on those maintained by kernel developers. These kernel releases are not hosted at kernel.org and kernel developers can provide no support for them.
It is easy to tell if you are running a distribution kernel. Unless you downloaded, compiled and installed your own version of kernel from kernel.org, you are running a distribution kernel. To find out the version of your kernel, run uname -r :
# uname -r 5.6.19-300.fc32.x86_64
If you see anything at all after the dash, you are running a distribution kernel. Please use the support channels offered by your distribution vendor to obtain kernel support.
Releases FAQ
Here are some questions we routinely receive about kernel release versions. See also the main «FAQ» section for some other topics.
When is the next mainline kernel version going to be released?
Linux kernel follows a simple release cadence:
- after each mainline release, there is a 2-week «merge window» period during which new major features are introduced into the kernel
- after the merge window closes, there is a 7-week bugfix and stabilization period with weekly «release candidate» snapshots
- rc7 is usually the last release candidate, though occasionally there may be additional rc8+ releases if that is deemed necessary
So, to find the approximate date of the next mainline kernel release, take the date of the previous mainline release and add 9-10 weeks.
What is the next longterm release going to be?
Longterm kernels are picked based on various factors — major new features, popular commercial distribution needs, device manufacturer demand, maintainer workload and availability, etc. You can roughly estimate when the new longterm version will become available based on how much time has elapsed since the last longterm version was chosen.
Why are some longterm versions supported longer than others?
The «projected EOL» dates are not set in stone. Each new longterm kernel usually starts with only a 2-year projected EOL that can be extended further if there is enough interest from the industry at large to help support it for a longer period of time.
Does the major version number (4.x vs 5.x) mean anything?
No. The major version number is incremented when the number after the dot starts looking «too big.» There is literally no other reason.
Does the odd-even number still mean anything?
A long time ago Linux used a system where odd numbers after the first dot indicated pre-release, development kernels (e.g. 2.1, 2.3, 2.5). This scheme was abandoned after the release of kernel 2.6 and these days pre-release kernels are indicated with «-rc».
Other resources
Social
This site is operated by the Linux Kernel Organization, Inc., a 501(c)3 nonprofit corporation, with support from the following sponsors.
Вышел Linux 6.1
11 декабря 2022 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.1. Выпуск новой версии ядра Linux вышел в соответствии с графиком, но всё же с задержкой на неделю, спустя два месяца после выхода предыдущей стабильной версии Linux 6.0 в начале октября этого года.
Исходный код Linux 6.1 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.1 на GitHub и на Makefile от Линуса Торвальдса.
Согласно OpenNET, в Linux 6.1 принято 15 115 исправлений от 2 139 разработчиков. Размер патча составляет 51 МБ, что примерно в 2 раза меньше размера патчей от ядер 6.0 и 5.19. Изменения затронули 13 165 файлов, там добавлено 716 247 строк кода и удалено 304 560 строк кода. Около 45% всех представленных в ядре Linux 6.1 изменений связаны с драйверами устройств, примерно 14% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, по 3% изменений связаны с файловыми системами и с внутренними подсистемами ядра.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая:
- поддержку разработки драйверов и модулей на языке Rust;
- модернизацию механизма определения используемых страниц памяти;
- специальный менеджер памяти для BPF-программ;
- систему диагностики проблем с памятью KMSAN;
- механизм защиты KCFI (Kernelk Control-Flow Integrity);
- внедрение структуры Maple tree.
По поводу срыва сроков релиза на неделю из-за будущих праздников Торвальдс пояснил, что он доволен текущим релизом, но никаких поблажек мейнтейнерам проекта по дальнейшей разработке ядра из-за праздников он не приемлет, чтобы не срывать сроки дедлайнов релиза новых версий Linux.
16 октября в процессе выпуска версии ядра Linux 6.1-rc1 Линус Торвальдс отчитал ментейнеров проекта ядра Linux за постоянный срыв дедлайнов и расслабленность в работе. Торвальдс сдержался в обращении в рамках дозволенного, но потребовал, чтобы разработчики перестали постоянно тянуть с отправкой кода. По поводу злоупотребления сроков дедлайнов Торвальдс напомнил, что он и раньше говорил, что это его действительно очень сильно раздражает. По словам Торвальдса, многие мейнтейнеры присылают ему необходимые элементы кода на рассмотрение очень поздно, что ставит под угрозу срыва сроки релиза новых версий Linux. В своём обращении к разработчикам Торвальдс также обратился к тем, кто сдаёт ему проделанную работу после заявленного срока. «Привычку откладывать всё до последнего нужно было оставить в школе. Это совершенно не подходит для разработки ядра Linux», — написал Торвальдс.
Вышел Linux 6.0
2 октября 2022 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.0. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии Linux 5.19 в конце июля этого года.
Исходный код Linux 6.0 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.0 на GitHub и на Makefile от Линуса Торвальдса.
В анонсе Linux 5.19 Торвальдс сообщал, что присвоит следующему выпуску ядра номер 6.0, так как начал беспокоиться из-за больших чисел выпусков в ветке 5.хх. «Надеюсь, всем понятно, что изменение основного номера больше связано с тем, что у меня закончились пальцы рук и ног. Там нет никаких фундаментальных изменений», — пояснил после релиза Торвальдс.
По поводу нумерации в августе Торвальдс рассказал, что, по его видению, как только второе число в версии ядра достигает примерно 20, то он предпочитает просто увеличивать общий номер версии, чтобы сбросить эту долгую ношу. Торвальдсу всё равно, как будут называть эту версию другие разработчики. «Вы хотите назвать это Linux 5.20, вперёд. Потому что номера версий ядра полностью выдуманы и не имеют значения», — пояснил Торвальдс в ответ на критику его перехода с 5.19 на 6.0 от китайских коллег.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая:
- добавлена поддержка новых чипов AMD;
- значительно доработаны сетевые и графические драйверы;
- добавлена поддержка асинхронной буферизированной записи в XFS;
- добавлен блочный драйвер ublk, выносящий специфичную логику на сторону фонового процесса в пространстве пользователя и использующий подсистему io_uring;
- выполнена оптимизация планировщика задач;
- механизм верификации корректности работы ядра;
- добавлена поддержка аутентификации накопителей NVMe;
- добавлена поддержка блочного шифра ARIA;
- исправлена проблема с производительностью систем на процессорах AMD Zen;
- проведена оптимизация распределения задач по ядрам CPU на крупных системах, позволившая поднять производительность при некоторых видах нагрузки;
- повышена производительность встроенной в ядро реализации протокола TLS.
Вышел Linux 6.3
23 апреля 2023 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.3. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии Linux 6.2 в середине февраля.
Исходный код Linux 6.3 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.3 на GitHub и на Makefile от Линуса Торвальдса.
Согласно данным OpenNET, в Linux 6.3 принято 15 637 исправления от 2 055 разработчиков. Размер патча составляет 76 МБ. Изменения затронули 14 296 файлов, там добавлено 1 023 183 строк кода и удалено 883 103 строк кода. Около 39% всех представленных в ядре Linux 6.3 изменений связаны с драйверами устройств, примерно 15% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 10% связано с сетевым стеком, 5% изменений связаны с файловыми системами, а 3% — с внутренними подсистемами ядра.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая чистку устаревших ARM-платформ (размер исходных текстов ядра сокращён на 150 тыс., там удалено более 40 старых ARM-платформ) и графических драйверов, продолжение интеграции поддержки языка Rust, добавление утилиты hwnoise (для отслеживания задержек, вызванных особенностями работы аппаратного обеспечения), поддержку древовидных структур red-black в BPF, режим BIG TCP для IPv4, встроенный тест производительности Dhrystone, возможность запрета исполнения в memfd, поддержку создания HID-драйверов, используя BPF, в User-mode Linux (запуск ядра как пользовательского процесса) на системах x86-64 реализована поддержка кода, написанного на языке Rust, добавлена поддержка сборки User-mode Linux при помощи clang с включением оптимизаций на этапе связывания (LTO). Также в Linux 6.3 прекращена поддержка сборки ядра компилятором Intel ICC, которая уже длительное время находилась в нерабочем виде без нужных исправлений.
В Linux 6.3 продолжен перенос из ветки Rust-for-Linux дополнительной функциональности, связанной с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру. Предложенная в прошлых выпусках функциональность расширена поддержкой типов Arc (реализация указателей со счётчиком ссылок), ScopeGuard (выполняется чистку при выходе за область видимости) и ForeignOwnable (обеспечивает перемещение указателей между кодом на Си и Rust). Из пакета ‘alloc’ удалён модуль ‘borrow’ (тип ‘Cow’ и типаж ‘ToOwned’). Отмечается, что состояние поддержки Rust в ядре уже близко к тому, чтобы начать принимать в ядро первые модули, написанные на Rust.