Release Notes for Alpine 3.23.0: Difference between revisions
(Add Kea) |
(→Important changes: iwlwifi linux-firmware-other -> linux-firmware-intel) |
||
| (28 intermediate revisions by 8 users not shown) | |||
| Line 2: | Line 2: | ||
If you experience any issues with the upgrade, please let us know and file an issue in our repositories. | If you experience any issues with the upgrade, please let us know and file an issue in our repositories. | ||
== Important changes == | == Important changes == | ||
| Line 13: | Line 11: | ||
Note that we will only transition the package manager to v3, but will keep the v2 index and package format. We plan to move to the v3 index and package format after Alpine v3.23. | Note that we will only transition the package manager to v3, but will keep the v2 index and package format. We plan to move to the v3 index and package format after Alpine v3.23. | ||
For more information, take a look at the release notes of apk v3: | For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0 | ||
=== /usr merge === | === /usr merge === | ||
New installations | New installations can opt-in to being /usr-merged, by setting the <code>BOOTSTRAP_USR_MERGED</code> environment variable to <code>1</code> before running <code>setup-disk</code>. Manual migration is also possible by installing the <code>merge-usr</code> package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement]. | ||
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} === | === {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} === | ||
| Line 26: | Line 24: | ||
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}' packaging recipe. | If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}' packaging recipe. | ||
=== <code>iwlwifi</code> firmware has moved from {{Pkg|linux-firmware-other}} to {{Pkg|linux-firmware-intel}} === | |||
This is important for Intel wireless users who have chosen a minimal set of firmware packages, with the {{Pkg|linux-firmware-none}} meta package plus {{Pkg|linux-firmware-other}}, you now need to <code>apk add linux-firmware-intel</code> to get <code>iwlwifi*.ucode.zstd</code> for your device. | |||
== Significant changes == | == Significant changes == | ||
=== | === LLVM metapackage === | ||
Unversioned LLVM symlinks to their versioned components are now moved from their versioned LLVM package to a meta-package. This should have no impact on your usage. | |||
=== nftrules subpackages === | |||
nftables rulesets are now packaged in <code>$pkgname-nftrules</code> subpackages, which contain rules for their individual packages in <code>/usr/share/nftables.avail/</code>. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}}) | |||
{{ | To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}. | ||
=== | === udev rules subpackages === | ||
Most udev rules were moved from main packages to their subpackages <code>$pkgname-udev</code>. It will be automatically installed if the system has <code>udev</code> installed, so it shouldn't require any manual intervention, but simplifies systems without udev. | |||
=== | === systemd service subpackages === | ||
Although we don't have systemd packaged, many packages now have subpackages <code>$pkgname-systemd</code>, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd. | |||
=== curl HTTP/3 === | === curl HTTP/3 === | ||
{{ | {{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}}) | ||
=== nginx --with-compat === | |||
{{pkg|nginx}} is now compiled with <code>--with-compat</code> (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules. | |||
Please note that using nginx from aports with binary modules built against a different version of nginx or for a different platform (i.e. a different distro or Alpine branch) is '''not supported and will not work correctly'''! The same applies to using nginx modules from aports with a different nginx build. | |||
== Note-worthy updates == | == Note-worthy updates == | ||
| Line 49: | Line 63: | ||
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use. | As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use. | ||
* BIRD | * BIRD 3.1.4 | ||
* busybox | * busybox 1.37.0 | ||
* | * ffmpeg 8 | ||
* GCC | * Garage 2.1.0 | ||
* GNOME | * GCC 15.2.0 | ||
* Go | * GNOME 49 | ||
* ISC BIND | * Go 1.25 | ||
* ISC Kea 3.0. | * ISC BIND 9.20.16 | ||
* KDE Plasma | * ISC Kea 3.0.2 | ||
* Linux | * KDE Plasma 6.5.3 | ||
* LLVM | * Linux 6.18 | ||
* LXQt | * LLVM 21.1.2 | ||
* | * LXQt 2.30 | ||
* NodeJS | * .NET 10 | ||
* PHP | * NodeJS 24.11.1 (LTS) | ||
* Qt | * OpenJDK 25 | ||
* Ruby | * OpenSMTPD 7.8.0 | ||
* Rust | * OpenZFS 2.4.0-rc4 | ||
* wlroots | * PHP 8.5.0 | ||
* zigbee2mqtt | * Qt 6.10 | ||
* Ruby 3.4.7 | |||
* Rust 1.91.1 | |||
* Sway 1.11 | |||
* Valkey 9.0.0 | |||
* wlroots 0.19 | |||
* zigbee2mqtt 2.6.3 | |||
=== GCC 15 === | === GCC 15 === | ||
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15. | |||
Make sure to read their release changes (https://gcc.gnu.org/gcc-15/changes.html) and porting guide (https://gcc.gnu.org/gcc-15/porting_to.html). | |||
=== LLVM 21 === | === LLVM 21 === | ||
We upgraded our LLVM suite to 21.1.2. Older clang packages are still available for version 20. But we removed relevant LLVM/Clang packages that are no longer needed by our distribution packages. If you still need older versions, please port your software to newer LLVM versions or use third-party builds. | |||
=== GNOME 49 === | === GNOME 49 === | ||
| Line 83: | Line 104: | ||
https://release.gnome.org/49/ | https://release.gnome.org/49/ | ||
* We kept gnome-session (and gdm) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}}) | * We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}}) | ||
* Our gdk-pixbuf didn't enable the glycin sandboxing library yet ({{Issue|17550}}) | * Our gdk-pixbuf didn't enable the glycin sandboxing library yet ({{Issue|17550}}) | ||
| Line 96: | Line 117: | ||
=== ifstate 2 === | === ifstate 2 === | ||
The declarative network configuration tool {{Pkg|ifstate}} has been upgraded from version 1.x to version 2. It is not possible to use the old configuration file of ifstate 1.x with ifstate 2.x! The configuration file '''must''' be adapted to the new schema and file name to prevent breaking the host's network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2. | The declarative network configuration tool {{Pkg|ifstate}} has been upgraded from version 1.x to version 2. It is not possible to use the old configuration file of ifstate 1.x with ifstate 2.x! The configuration file '''must''' be adapted to the new schema and file name to prevent breaking the host's network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation]. | ||
== Significant removals == | == Significant removals == | ||
=== More Qt5 removals === | |||
=== {{ | |||
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}}) | |||
=== ffmpeg4 === | |||
We removed <code>ffmpeg4</code> from our repository and are only providing versions 6, 7 and 8. | |||
=== rssh === | |||
rssh package has been removed due to the dead upstream. | |||
=== ircservices === | |||
unmaintained upstream for years | |||
=== postgresql-age === | |||
Apache AGE [https://github.com/apache/age/issues/2229 lacks behind] in supporting the latest version of PostgreSQL. The project seems to [https://github.com/apache/age/issues/2111#issuecomment-2441903180 lack sufficient manpower]. :( | |||
If you want a graph database on top of PostgreSQL, you can use {{pkg|agensgraph}}. However, unlike AGE, it’s not an extension, but a fork of PostgreSQL. | |||
<hr><center>[[Release Notes for Alpine 3.22.0|← Previous page: Release Notes for Alpine 3.22.0]]</center> | <hr><center>[[Release Notes for Alpine 3.22.0|← Previous page: Release Notes for Alpine 3.22.0]] — [[Draft Release Notes for Alpine 3.24.0|Next page: Release Notes for Alpine 3.24.0 →]]</center> | ||
Latest revision as of 01:47, 4 December 2025
As always, make sure to read Upgrading Alpine to a new major release when upgrading to a new release.
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.
Important changes
apk-tools v3
After 5 years of development in the master branch of apk-tools, apk v3 is now ready for Alpine v3.23.0. This should be a safe and seamless upgrade from apk v2, but might has some breaking changes if you use libapk.
Note that we will only transition the package manager to v3, but will keep the v2 index and package format. We plan to move to the v3 index and package format after Alpine v3.23.
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0
/usr merge
New installations can opt-in to being /usr-merged, by setting the BOOTSTRAP_USR_MERGED environment variable to 1 before running setup-disk. Manual migration is also possible by installing the merge-usr package and running its binary as root. For more details see the official announcement.
linux-stable replaces linux-edge
For years, linux-lts and linux-edge grew apart and developed their own kernel configs, different architectures, etc.
Now linux-edge gets replaced with linux-stable which has the identical configuration as linux-lts, but follows the stable releases instead of the long-term releases (see https://kernel.org/).
If you had linux-edge installed, apk automatically installs linux-stable as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in linux-edge, please open a issue to add the required option to linux-lts. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows linux-lts' packaging recipe.
iwlwifi firmware has moved from linux-firmware-other to linux-firmware-intel
This is important for Intel wireless users who have chosen a minimal set of firmware packages, with the linux-firmware-none meta package plus linux-firmware-other, you now need to apk add linux-firmware-intel to get iwlwifi*.ucode.zstd for your device.
Significant changes
LLVM metapackage
Unversioned LLVM symlinks to their versioned components are now moved from their versioned LLVM package to a meta-package. This should have no impact on your usage.
nftrules subpackages
nftables rulesets are now packaged in $pkgname-nftrules subpackages, which contain rules for their individual packages in /usr/share/nftables.avail/. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. (#16177)
To install all available nftrules packages, you can install the metapackage nftables-rulesets.
udev rules subpackages
Most udev rules were moved from main packages to their subpackages $pkgname-udev. It will be automatically installed if the system has udev installed, so it shouldn't require any manual intervention, but simplifies systems without udev.
systemd service subpackages
Although we don't have systemd packaged, many packages now have subpackages $pkgname-systemd, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for postmarketOS. There is no plan to move the default init system away from OpenRC to systemd.
curl HTTP/3
curl now got built with HTTP/3 support using nghttp3 and openssl-quic. (!89382)
nginx --with-compat
nginx is now compiled with --with-compat (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage nginx-mod-dev which provides the nginx sources and build dependencies needed for building nginx modules.
Please note that using nginx from aports with binary modules built against a different version of nginx or for a different platform (i.e. a different distro or Alpine branch) is not supported and will not work correctly! The same applies to using nginx modules from aports with a different nginx build.
Note-worthy updates
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.
- BIRD 3.1.4
- busybox 1.37.0
- ffmpeg 8
- Garage 2.1.0
- GCC 15.2.0
- GNOME 49
- Go 1.25
- ISC BIND 9.20.16
- ISC Kea 3.0.2
- KDE Plasma 6.5.3
- Linux 6.18
- LLVM 21.1.2
- LXQt 2.30
- .NET 10
- NodeJS 24.11.1 (LTS)
- OpenJDK 25
- OpenSMTPD 7.8.0
- OpenZFS 2.4.0-rc4
- PHP 8.5.0
- Qt 6.10
- Ruby 3.4.7
- Rust 1.91.1
- Sway 1.11
- Valkey 9.0.0
- wlroots 0.19
- zigbee2mqtt 2.6.3
GCC 15
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.
Make sure to read their release changes (https://gcc.gnu.org/gcc-15/changes.html) and porting guide (https://gcc.gnu.org/gcc-15/porting_to.html).
LLVM 21
We upgraded our LLVM suite to 21.1.2. Older clang packages are still available for version 20. But we removed relevant LLVM/Clang packages that are no longer needed by our distribution packages. If you still need older versions, please port your software to newer LLVM versions or use third-party builds.
GNOME 49
- We kept gnome-session (and gdm, and similar) at 48 because of the stricter systemd dependency (#17514)
- Our gdk-pixbuf didn't enable the glycin sandboxing library yet (#17550)
ffmpeg 8
The ffmpeg package got upgraded from version 6 to 8.
Most consumers of ffmpeg are now built against ffmpeg 8, but some packages might still use ffmpeg 6 or 7, depending on its API compatability. Therefore the ffmpeg6 and ffmpeg7 packages are also still available.
Also note that ffmpeg4 got removed and all consumers were migrated to at least ffmpeg 6.
ifstate 2
The declarative network configuration tool ifstate has been upgraded from version 1.x to version 2. It is not possible to use the old configuration file of ifstate 1.x with ifstate 2.x! The configuration file must be adapted to the new schema and file name to prevent breaking the host's network the next time it is booted! More information about the required config changes can be found in the ifstate documentation.
Significant removals
More Qt5 removals
Just as last release, we removed more Qt5 libraries that were no longer used by our distribution packages. (#17114)
ffmpeg4
We removed ffmpeg4 from our repository and are only providing versions 6, 7 and 8.
rssh
rssh package has been removed due to the dead upstream.
ircservices
unmaintained upstream for years
postgresql-age
Apache AGE lacks behind in supporting the latest version of PostgreSQL. The project seems to lack sufficient manpower. :(
If you want a graph database on top of PostgreSQL, you can use agensgraph. However, unlike AGE, it’s not an extension, but a fork of PostgreSQL.