Release Notes for Alpine 3.23.0: Difference between revisions

From Alpine Linux
(Add OpenSMTPD 7.8.0)
(Add Valkey 9.0.0)
Line 81: Line 81:
* Rust 1.91.1
* Rust 1.91.1
* Sway 1.11
* Sway 1.11
* Valkey 9.0.0
* wlroots 0.19
* wlroots 0.19
* zigbee2mqtt 2.6.3
* zigbee2mqtt 2.6.3

Revision as of 16:52, 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 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
  • 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

https://release.gnome.org/49/

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


← Previous page: Release Notes for Alpine 3.22.0Next page: Release Notes for Alpine 3.24.0 →