Release Notes for Alpine 3.18.0
Base System
Linux Kernel
linux-lts was updated from 5.15 to 6.1. release notes
Kernel modules are now signed.
Note: akms (Alpine Kernel Module Support) doesn't support modules signing yet, it will be implemented later.
musl 1.2.4
Support for DNS lookups over TCP. release notes
DT_RELR
on x86, x86_64, and ppc64le, -Wl,-z,pack-relative-relocs
is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.
however, these binaries are now not portable to other musl-based systems that have a musl older than 1.2.4, because older versions are incapable of loading these binaries.
OpenSSL 3.1
Experimental headless installer
Support for head-less installs with tiny-cloud was added. This is done via a volume with label cidata
, similar to cloud-init's NoCloud provider. If this volume is found during boot, the network will be auto configured and provided, a default user named alpine
will be created and ssh keys provided in meta-data will be added. This is experimental and may change without prior notice.
e2fsprogs 1.47.0
The e2fsprogs package shipped with Alpine 3.18 changed the behaviour of mke2fs
so that newly created filesystems have two additional features enabled.
From release notes:
The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.
However, whilst the metadata_csum_seed
feature is known about by older versions of e2fsck the orphan_file
feature was both added to e2fsprogs 1.47.0 and enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.
Compilers and Runtimes
LLVM 16
llvm16 was added. release notes
Lua
luarocks, the package manager for Lua, was updated from 2.x to 3x. release notes
Python
python3 was updated from 3.10 to 3.11. release notes
splitting of python pycache .pyc files
Most python modules split their __pycache__
to a -pyc
subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run apk add !python3-pyc
Ruby 3.2
ruby was updated from 3.1 to 3.2. release notes
Crystal 1.8
crystal was updated from 1.6 to 1.8. release notes for 1.7, release notes for 1.8
PHP 8.2
Added 8.2 packages with a subset of the most common extensions. Version 8.1 still remains the primary provider priority, but some web applications started to use 8.2.
R 4.3
R was updated from 4.2 to 4.3. release notes
Rust 1.69
rust was updated from 1.64 to 1.69.
Desktop
gdk-pixbuf-loaders
A few gdk-pixbuf loaders were added, and they were all added to an install_if
metapackage rule. Run apk add gdk-pixbuf-loaders
to enable the loaders for the corresponding image libraries you have installed.
GNOME
The gnome metapackage was reworked and the packages gnome-apps-extra and gnome-games-collection were removed to avoid opinionated lists in metapackages. It is advised to remove those from /etc/apk/world
before performing the upgrade. Additionally, the new subpackage gnome-dev-tools was added following the upstream's recommendations.
On related news, to make use of GNOME Software, it is necessary to enable the apk-polkit-server
openrc service. More info in the wiki
Plasma 5.27.4
plasma was updated from 5.26.5 to 5.27.4. This includes some new packages like plasma-welcome (a welcoming application that shows up on the first boot to configure some initial settings) and flatpak-kcm (a configuration page for the system settings to control Flatpak permissions, much like GNOME's Flatseal). This Plasma release is the last one that will be built on Qt5 and will probably remain in use for Alpine 3.19 as well.
Sway 1.8
sway was updated from 1.7 to 1.8. release notes
Others
dbus
dbus-activation has been removed from packages openrc-settingsd and apk-polkit-rs. To make use of their services, make sure to start and enable the openrc-settingsd
and apk-polkit-server
services, respectively.
nginx 1.24
nginx was updated to the new stable branch 1.24.x. release notes
Removal of pipewire-media-session
pipewire-media-session was removed, as upstream explicitly recommends not to use it, and it's completely superceded by wireplumber.
if you used it, make sure you don't have pipewire-media-session in /etc/apk/world
, and configure any scripts you might've had to launch wireplumber
instead.
QEMU 8
QEMU was updated from 7.1 to 8.0. release notes
Docker 23
The docker package shipped with Alpine 3.18 has a dependency on docker-cli-buildx, as Docker 23 now uses it for builds.
Also, Docker 23 no longer enables the overlay
storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, dockerd
will fail to start. To fix this, either...
- migrate to
overlay2
in/etc/docker/daemon.json
- hardcode it to
overlay
in the same file (instead of blank), though this will eventually break in a future upgrade
For more detailed information about Docker 23, please refer to the release notes.