Release Notes for Alpine 3.23.0: Difference between revisions
m (Fossdd moved page Draft Release Notes for Alpine 3.23.0 to Release Notes for Alpine 3.23.0 over redirect: will be released today!) |
No edit summary |
||
| Line 124: | Line 124: | ||
unmaintained upstream for years | unmaintained upstream for years | ||
<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> | ||
Revision as of 12:47, 3 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.
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 any future integrations with systemd in Alpine and for postmarketOS. There is no plan to move the default init system away from OpenRC.
curl HTTP/3
curl now got built with HTTP/3 support using nghttp3 and openssl-quic. (!89382)
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
- Deno 2.3.1
- ffmpeg 8
- GCC 15.2.0
- GNOME 49
- Go 1.25
- ISC BIND 9.20.16
- ISC Kea 3.0.3
- KDE Plasma 6.5.2
- Linux 6.18
- LLVM 21.1.2
- LXQt 2.30
- .NET 10
- nginx 1.28
- NodeJS 24.11.1 (LTS)
- OpenJDK 25
- PHP 8.5.0
- Qt 6.10
- Ruby 3.4.7
- Rust 1.91.1
- 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