Draft Release Notes for Alpine 3.23.0

From Alpine Linux
Revision as of 20:19, 26 November 2025 by Pabloyoyoista (talk | contribs) (Update /usr-merge being opt-in and not opt-out)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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: TODO

/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

Static binaries are built as PIE

LLVM metapackage

Note: TODO

nftrules

curl HTTP/3

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.12
  • LLVM 21.1.2
  • LXQt 2.30.
  • nginx 1.28
  • NodeJS 24.11.1 (LTS)
  • PHP 8.5.0
  • Qt 6.10
  • Ruby 3.4.7
  • Rust 1.91.1
  • wlroots 0.19
  • zigbee2mqtt 2.6.3

GCC 15

LLVM 21

ifupdown-ng 0.13

Note: TODO

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

Note: TODO

ffmpeg4

Note: TODO

LLVM 17

rssh

rssh package has been removed due to the dead upstream.


← Previous page: Release Notes for Alpine 3.22.0