Draft Release Notes for Alpine 3.21.0

From Alpine Linux

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

OpenSSH requires restart

Note: TODO: Remove this section if https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/68589 gets merged before 3.21 is released

You need to restart your sshd service!

Since the 9.8_p1 release, openssh-server is now split into two binaries, sshd and sshd-session. With this change sshd needs to be restarted to be able to accept new connections.

Since managing services has always been out-of-scope for apk, we will NOT do the following for you:

rc-service --ifstarted sshd restart

New loongarch64 architecture

Alpine 3.21 is the first release which is available for loongarch64.

Thanks to the support of the team of Loongson dedicated to supporting Alpine Linux and many other contributors.

Preparations for /usr-merge

We plan for the next Alpine Linux, version 3.22, to contain the /usr-merge.

A lot of preperations went into this release to ensure that the merge happens as smoothly as possible.

Note: TODO: replace with actual blog post

For more information, the timeline and the effects, read the blog post: https://gitlab.alpinelinux.org/alpine/infra/alpine-mksite/-/merge_requests/88/diffs

Significant changes

Jellyfin

Jellyfin now uses the recommended fork of ffmpeg called jellyfin-ffmpeg by default. If you want to change that, take a look at the ffmpegpath variable in /etc/conf.d/jellyfin. (!69924)

Jellyfin was disabled for ARM architectures (aarch64 and armv7) and is only available for x86_64. The relevant issue is: https://gitlab.alpinelinux.org/alpine/aports/-/issues/16613

Bats

"main/bats" was renamed to "main/bats-core". Now there is a meta package "community/bats" which contains:

  • bats-core
  • bats-file
  • bats-support
  • bats-assert

Xen

qemu-traditional and stubdom are removed from the build in this release, see https://git.alpinelinux.org/aports/commit/?id=24217a24da3924039b000eb17c04bf3f01bf1f12

The regular qemu aport, community/qemu, is now build with xen support, see https://git.alpinelinux.org/aports/commit/?id=a9249e2e0de827e88d84c01f9731aeebd248be13

uutils-coreutils

"uutils-coreutils" is repackaged as a sub-package to "community/uutils" in such a way as to be a drop-in replacement for GNU coreutils.

If you have both "uutils-coreutils" and "coreutils" installed, the latter will be purged and its symlinks replaced with ones pointing to the /usr/bin/uutils binary, provided by the "uutils" package. If you prefer to use GNU "coreutils", or run into issues with "uutils" as replacement, you may want to remove the "uutils-coreutils" package before upgrading.

A few parts of the uutils are also split into subpackages, to avoid conflicts or other issues.

linux-firmware

linux-firmware is now compressed with ZSTD compression. If you run a custom built Linux kernel, you need to ensure that CONFIG_FW_LOADER_COMPRESS_ZSTD=y is set in your configuration.

Note-worthy updates

As always, a lot of packages were upgraded. Make sure to read the indivdual release notes of the projects you use.

  • GCC 14.2.0
  • LLVM 19
  • Go 1.23.3
  • Rust 1.82
  • GNOME 47.1
  • KDE Plasma 6.2.3
  • LXQt 2.1.0
  • Qt 6.8.0

GCC 14

GCC was upgraded to 14.2.0 and as a result all packages in Alpine 3.21 are compiled with GCC 14.2.0.

Make sure to read all changes: https://gcc.gnu.org/gcc-14/changes.html

LXQt 2.1

LXQt has been updated to release 2.1.0

  • It now uses Qt6
  • Many parts of LXQt are now wayland ready¹, but wayland ports of the following are pending: screengrab, lxqt-globalkeys, and keyboard indicator, some input settings, and settings of monitor, power button, and screen locker.
  • LXQt Panel has a new default application menu called Fancy Menu.

¹ lxqt-wayland-session has not been packaged yet, but most folks wanting to test on wayland will want to use it.

PostgreSQL 17

This release features postgresql17. We dropped support for postgresql14, and moved postgreSQL15 from main to community.

LLVM 19

We packaged LLVM 19 in our repositories. Coming to total of 5 supported LLVM versions: llvm19, llvm18, llvm17, llvm16, llvm15.

Significant removals

ISC DHCP

Note: TODO: Write something cool if https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/70974 (or alternative) is merged

Gogs

gogs was removed due to multiple high-severity vulnerabilities which are open within a year. The developers of Gogs were contacted multiple times by the Forgejo team, but got no response. Therefore we removed Gogs from our repositories. (!75304)

Please consider migrating to forgejo or gitea. Both forks are available in our community repo, like gogs was.

The Gitea fork of Gogs was created in 2016 by contributors who were annoyed by the single-maintainer management model of Gogs. Forgejo is a fork of Gitea, which was created because the for-profit company Gitea Ltd took over the maintainership, see also https://forgejo.org/compare-to-gitea/.

neofetch

The upstream repository was archived in April, therefore is unmaintained and we removed it from our repositories. fastfetch provides similar functionality.