<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jirutka</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jirutka"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Jirutka"/>
	<updated>2026-05-01T04:04:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31873</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31873"/>
		<updated>2025-12-26T15:31:00Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: /* Note-worthy updates */ Add PostgreSQL 18&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;iwlwifi&amp;lt;/code&amp;gt; firmware has moved from {{Pkg|linux-firmware-other}} to {{Pkg|linux-firmware-intel}} ===&lt;br /&gt;
&lt;br /&gt;
This is important for Intel wireless users who have chosen a minimal set of firmware packages, with the {{Pkg|linux-firmware-none}} meta package plus {{Pkg|linux-firmware-other}}, you now need to &amp;lt;code&amp;gt;apk add linux-firmware-intel&amp;lt;/code&amp;gt; to get &amp;lt;code&amp;gt;iwlwifi*.ucode.zstd&amp;lt;/code&amp;gt; for your device.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* Garage 2.1.0&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* PostgreSQL 18.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* Valkey 9.0.0&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL 18 ===&lt;br /&gt;
&lt;br /&gt;
This release features {{pkg|postgresql18}}. We dropped support for {{pkg|postgresql15}}, and moved {{pkg|postgreSQL16}} from main to community.&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
=== postgresql-age ===&lt;br /&gt;
&lt;br /&gt;
Apache AGE [https://github.com/apache/age/issues/2229 lacks behind] in supporting the latest version of PostgreSQL. The project seems to [https://github.com/apache/age/issues/2111#issuecomment-2441903180 lack sufficient manpower]. :(&lt;br /&gt;
&lt;br /&gt;
If you want a graph database on top of PostgreSQL, you can use {{pkg|agensgraph}}. However, unlike AGE, it’s not an extension, but a fork of PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31872</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31872"/>
		<updated>2025-12-26T15:28:59Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: /* Note-worthy updates */ Add PostgreSQL 18&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;iwlwifi&amp;lt;/code&amp;gt; firmware has moved from {{Pkg|linux-firmware-other}} to {{Pkg|linux-firmware-intel}} ===&lt;br /&gt;
&lt;br /&gt;
This is important for Intel wireless users who have chosen a minimal set of firmware packages, with the {{Pkg|linux-firmware-none}} meta package plus {{Pkg|linux-firmware-other}}, you now need to &amp;lt;code&amp;gt;apk add linux-firmware-intel&amp;lt;/code&amp;gt; to get &amp;lt;code&amp;gt;iwlwifi*.ucode.zstd&amp;lt;/code&amp;gt; for your device.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* Garage 2.1.0&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* PostgreSQL 18.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* Valkey 9.0.0&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
=== postgresql-age ===&lt;br /&gt;
&lt;br /&gt;
Apache AGE [https://github.com/apache/age/issues/2229 lacks behind] in supporting the latest version of PostgreSQL. The project seems to [https://github.com/apache/age/issues/2111#issuecomment-2441903180 lack sufficient manpower]. :(&lt;br /&gt;
&lt;br /&gt;
If you want a graph database on top of PostgreSQL, you can use {{pkg|agensgraph}}. However, unlike AGE, it’s not an extension, but a fork of PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31622</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31622"/>
		<updated>2025-12-03T17:11:12Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: /* Significant removals */ Add postgresql-age&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* Garage 2.1.0&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* Valkey 9.0.0&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
=== postgresql-age ===&lt;br /&gt;
&lt;br /&gt;
Apache AGE [https://github.com/apache/age/issues/2229 lacks behind] in supporting the latest version of PostgreSQL. The project seems to [https://github.com/apache/age/issues/2111#issuecomment-2441903180 lack sufficient manpower]. :(&lt;br /&gt;
&lt;br /&gt;
If you want a graph database on top of PostgreSQL, you can use {{pkg|agensgraph}}. However, unlike AGE, it’s not an extension, but a fork of PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31621</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31621"/>
		<updated>2025-12-03T17:06:29Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: /* Significant removals */ Add postgresql-age&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* Garage 2.1.0&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* Valkey 9.0.0&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
=== postgresql-age ===&lt;br /&gt;
&lt;br /&gt;
Apache AGE [https://github.com/apache/age/issues/2229 lacks behind] in supporting the latest version of PostgreSQL. The project seems to [https://github.com/apache/age/issues/2111#issuecomment-2441903180 lack sufficient manpower]. :(&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31620</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31620"/>
		<updated>2025-12-03T16:55:00Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Garage 2.1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* Garage 2.1.0&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* Valkey 9.0.0&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31619</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31619"/>
		<updated>2025-12-03T16:52:36Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Valkey 9.0.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* Valkey 9.0.0&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31618</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31618"/>
		<updated>2025-12-03T16:51:55Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add OpenSMTPD 7.8.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenSMTPD 7.8.0&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31616</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31616"/>
		<updated>2025-12-03T16:49:12Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: /* Significant changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31615</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31615"/>
		<updated>2025-12-03T16:49:04Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: nginx --with-compat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx --with-compat ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} is now compiled with &amp;lt;code&amp;gt;--with-compat&amp;lt;/code&amp;gt; (enables dynamic modules compatibility) to make it easier to build third-party nginx modules out-of-tree. There’s also a new subpackage {{pkg|nginx-mod-dev}} which provides the nginx sources and build dependencies needed for building nginx modules.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;not supported and will not work correctly&#039;&#039;&#039;! The same applies to using nginx modules from aports with a different nginx build.&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31614</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31614"/>
		<updated>2025-12-03T16:23:44Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Clarify that -systemd subpackages are only for postmarketOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies systemd integration for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31613</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31613"/>
		<updated>2025-12-03T16:21:01Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Sway 1.11&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies any future integrations with systemd in Alpine and for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* Sway 1.11&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31612</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31612"/>
		<updated>2025-12-03T16:19:47Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Remove nginx - no update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies any future integrations with systemd in Alpine and for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31611</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31611"/>
		<updated>2025-12-03T16:19:11Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Remove Deno - not updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations can opt-in to being /usr-merged, by setting the &amp;lt;code&amp;gt;BOOTSTRAP_USR_MERGED&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; before running &amp;lt;code&amp;gt;setup-disk&amp;lt;/code&amp;gt;. Manual migration is also possible by installing the &amp;lt;code&amp;gt;merge-usr&amp;lt;/code&amp;gt; package and running its binary as root. For more details see the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement].&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== nftrules subpackages ===&lt;br /&gt;
&lt;br /&gt;
nftables rulesets are now packaged in &amp;lt;code&amp;gt;$pkgname-nftrules&amp;lt;/code&amp;gt; subpackages, which contain rules for their individual packages in &amp;lt;code&amp;gt;/usr/share/nftables.avail/&amp;lt;/code&amp;gt;. To enable rules, you can symlink the specific rule-files to `/etc/nftables.d/`. ({{Issue|16177}})&lt;br /&gt;
&lt;br /&gt;
To install all available nftrules packages, you can install the metapackage {{Pkg|nftables-rulesets}}.&lt;br /&gt;
&lt;br /&gt;
=== udev rules subpackages ===&lt;br /&gt;
&lt;br /&gt;
Most udev rules were moved from main packages to their subpackages &amp;lt;code&amp;gt;$pkgname-udev&amp;lt;/code&amp;gt;. It will be automatically installed if the system has &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt; installed, so it shouldn&#039;t require any manual intervention, but simplifies systems without udev.&lt;br /&gt;
&lt;br /&gt;
=== systemd service subpackages ===&lt;br /&gt;
&lt;br /&gt;
Although we don&#039;t have systemd packaged, many packages now have subpackages &amp;lt;code&amp;gt;$pkgname-systemd&amp;lt;/code&amp;gt;, that contain systemd services. This will have no effect on systems, but simplifies any future integrations with systemd in Alpine and for [https://postmarketos.org/blog/2025/06/22/v25.06-release/#introduction postmarketOS]. There is no plan to move the default init system away from OpenRC to systemd.&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|curl}} now got built with HTTP/3 support using nghttp3 and openssl-quic. ({{MR|89382}})&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.4&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* ffmpeg 8&lt;br /&gt;
* GCC 15.2.0&lt;br /&gt;
* GNOME 49&lt;br /&gt;
* Go 1.25&lt;br /&gt;
* ISC BIND 9.20.16&lt;br /&gt;
* ISC Kea 3.0.2&lt;br /&gt;
* KDE Plasma 6.5.3&lt;br /&gt;
* Linux 6.18&lt;br /&gt;
* LLVM 21.1.2&lt;br /&gt;
* LXQt 2.30&lt;br /&gt;
* .NET 10&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 24.11.1 (LTS)&lt;br /&gt;
* OpenJDK 25&lt;br /&gt;
* OpenZFS 2.4.0-rc4&lt;br /&gt;
* PHP 8.5.0&lt;br /&gt;
* Qt 6.10&lt;br /&gt;
* Ruby 3.4.7&lt;br /&gt;
* Rust 1.91.1&lt;br /&gt;
* wlroots 0.19&lt;br /&gt;
* zigbee2mqtt 2.6.3&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
We upgraded GCC from 14 to 15 and all packages have been built with GCC 15.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm, and similar) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.2/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
Just as [[Release_Notes_for_Alpine_3.22.0#Qt_5|last release]], we removed more Qt5 libraries that were no longer used by our distribution packages. ({{Issue|17114}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
We removed &amp;lt;code&amp;gt;ffmpeg4&amp;lt;/code&amp;gt; from our repository and are only providing versions 6, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
=== ircservices ===&lt;br /&gt;
&lt;br /&gt;
unmaintained upstream for years&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[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 →]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31494</id>
		<title>Release Notes for Alpine 3.23.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.23.0&amp;diff=31494"/>
		<updated>2025-11-17T11:38:10Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Kea&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
{{Note|This is a list of upcoming changes for the next release 3.23. The release is still work-in-progress and changes might happen.}}&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== {{pkg|apk-tools}} v3 ===&lt;br /&gt;
&lt;br /&gt;
After 5 years of development in the &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;libapk&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For more information, take a look at the release notes of apk v3: TODO&lt;br /&gt;
&lt;br /&gt;
=== /usr merge ===&lt;br /&gt;
&lt;br /&gt;
New installations are now /usr-merged, and people are encouraged to merge their systems after upgrade. See the [https://alpinelinux.org/posts/2025-10-01-usr-merge.html official announcement] for more details.&lt;br /&gt;
&lt;br /&gt;
=== {{Pkg|linux-stable}} replaces {{Pkg|linux-edge}} ===&lt;br /&gt;
&lt;br /&gt;
For years, {{Pkg|linux-lts}} and {{Pkg|linux-edge}} grew apart and developed their own kernel configs, different architectures, etc.&lt;br /&gt;
&lt;br /&gt;
Now {{Pkg|linux-edge}} gets replaced with {{Pkg|linux-stable}} which has the identical configuration as {{Pkg|linux-lts}}, but follows the stable releases instead of the long-term releases (see https://kernel.org/).&lt;br /&gt;
&lt;br /&gt;
If you had {{Pkg|linux-edge}} installed, apk automatically installs {{Pkg|linux-stable}} as a replacement. There is a reasonably amount of kernel config differences, if you need a config option that existed previously in {{Pkg|linux-edge}}, please open a issue to add the required option to {{Pkg|linux-lts}}. Also this change might involve manual boot loader configuration, as the kernel has been renamed and follows {{Pkg|linux-lts}}&#039; packaging recipe.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== Static binaries are built as PIE ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: https://gitlab.alpinelinux.org/alpine/aports/-/issues/17294#note_524739}}&lt;br /&gt;
&lt;br /&gt;
=== LLVM metapackage ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO}}&lt;br /&gt;
&lt;br /&gt;
=== nftrules ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/67137}}&lt;br /&gt;
&lt;br /&gt;
=== curl HTTP/3 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/89382}}&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD TODO&lt;br /&gt;
* busybox TODO&lt;br /&gt;
* Deno TODO&lt;br /&gt;
* GCC TODO&lt;br /&gt;
* GNOME TODO&lt;br /&gt;
* Go TODO&lt;br /&gt;
* ISC BIND TODO&lt;br /&gt;
* ISC Kea 3.0.3&lt;br /&gt;
* KDE Plasma TODO&lt;br /&gt;
* Linux TODO&lt;br /&gt;
* LLVM TODO&lt;br /&gt;
* LXQt TODO&lt;br /&gt;
* nginx TODO&lt;br /&gt;
* NodeJS TODO (LTS)&lt;br /&gt;
* PHP TODO&lt;br /&gt;
* Qt TODO&lt;br /&gt;
* Ruby TODO&lt;br /&gt;
* Rust TODO&lt;br /&gt;
* wlroots TODO&lt;br /&gt;
* zigbee2mqtt TODO&lt;br /&gt;
* ffmpeg TODO&lt;br /&gt;
&lt;br /&gt;
=== GCC 15 ===&lt;br /&gt;
&lt;br /&gt;
=== LLVM 21 ===&lt;br /&gt;
&lt;br /&gt;
=== ifupdown-ng 0.13 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO}}&lt;br /&gt;
&lt;br /&gt;
=== GNOME 49 ===&lt;br /&gt;
&lt;br /&gt;
https://release.gnome.org/49/&lt;br /&gt;
&lt;br /&gt;
* We kept gnome-session (and gdm) at 48 because of the [https://release.gnome.org/49/developers/index.html#stronger-systemd-dependencies stricter systemd dependency] ({{Issue|17514}})&lt;br /&gt;
* Our gdk-pixbuf didn&#039;t enable the glycin sandboxing library yet ({{Issue|17550}})&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg 8 ===&lt;br /&gt;
&lt;br /&gt;
The {{Pkg|ffmpeg}} package got upgraded from version 6 to 8.&lt;br /&gt;
&lt;br /&gt;
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 {{Pkg|ffmpeg6}} and {{Pkg|ffmpeg7}} packages are also still available.&lt;br /&gt;
&lt;br /&gt;
Also note that {{Pkg|ffmpeg4}} got removed and all consumers were migrated to at least ffmpeg 6.&lt;br /&gt;
&lt;br /&gt;
=== ifstate 2 ===&lt;br /&gt;
&lt;br /&gt;
The declarative network configuration tool {{Pkg|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 &#039;&#039;&#039;must&#039;&#039;&#039; be adapted to the new schema and file name to prevent breaking the host&#039;s network the next time it is booted! More information about the required config changes can be found in the [https://ifstate.net/2.0/docs/upgrades/#ifstate-20 ifstate documentation].&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== {{Pkg|binutils-gold}} removed ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: not done yet and maybe not in 3.23}}&lt;br /&gt;
&lt;br /&gt;
The gold linker got deprecated by upstream on February 2025 and in Alpine v3.23 we removed it from our repositories.&lt;br /&gt;
&lt;br /&gt;
Previously this has been hold because of Go&#039;s use of the gold linker for ARM architectures, but these days the default ld linker works as expected.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== More Qt5 removals ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO}}&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg4 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO}}&lt;br /&gt;
&lt;br /&gt;
=== LLVM 17 ===&lt;br /&gt;
&lt;br /&gt;
=== rssh ===&lt;br /&gt;
&lt;br /&gt;
rssh package has been removed due to the dead upstream.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;[[Release Notes for Alpine 3.22.0|← Previous page: Release Notes for Alpine 3.22.0]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30120</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30120"/>
		<updated>2025-05-30T11:50:30Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. ({{MR|76764}})&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
=== nginx built with pcre2 ===&lt;br /&gt;
&lt;br /&gt;
Since this release, {{pkg|nginx|repo=main}} and {{pkg|njs|repo=community}} are built with pcre2 (10.x) instead of the old pcre (8.x).&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* Deno 2.3.1&lt;br /&gt;
* GCC 14.2.0&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go 1.24&lt;br /&gt;
* ISC BIND 9.20&lt;br /&gt;
* KDE Plasma 6.3&lt;br /&gt;
* Linux 6.12&lt;br /&gt;
* LLVM 20&lt;br /&gt;
* LXQt 2.2.0&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Qt 6.8&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust 1.87&lt;br /&gt;
* wlroots 0.18&lt;br /&gt;
* zigbee2mqtt 2.3.0&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;br /&gt;
&lt;br /&gt;
=== pcc (portable C compiler) ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, upstream&#039;s website [https://marc.info/?l=pcc-list&amp;amp;m=170541815829299&amp;amp;w=2 has been offline since 2023-12-11] and hasn&#039;t come back online since. AFAIK, there isn&#039;t any good alternative source that we can use. The best one we were able to find is an unofficial [https://repo.or.cz/pcc.git repo.or.cz mirror].&lt;br /&gt;
&lt;br /&gt;
As a consequence, other distros (e.g. [https://src.fedoraproject.org/rpms/pcc/c/6e04a3afcbdca49cb4f117e7febdf5ae67a3bed1?branch=rawhide Fedora]) have orphaned pcc and other distros (e.g. Debian) archive very ancient versions of pcc.&lt;br /&gt;
&lt;br /&gt;
=== ruby-grpc ===&lt;br /&gt;
&lt;br /&gt;
GRPC is a huge mess, and we lack the resources to support all its language bindings.&lt;br /&gt;
&lt;br /&gt;
Due to this, we had to also remove ruby-pg_query and sqlint.&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30119</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30119"/>
		<updated>2025-05-30T11:49:48Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add ruby-grpc to removals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. ({{MR|76764}})&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
=== nginx built with pcre2 ===&lt;br /&gt;
&lt;br /&gt;
Since this release, {{pkg|nginx|repo=main}} and {{pkg|njs|repo=community}} are built with pcre2 (10.x) instead of the old pcre (8.x).&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* Deno 2.3.1&lt;br /&gt;
* GCC 14.2.0&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go 1.24&lt;br /&gt;
* ISC BIND 9.20&lt;br /&gt;
* KDE Plasma 6.3&lt;br /&gt;
* Linux 6.12&lt;br /&gt;
* LLVM 20&lt;br /&gt;
* LXQt 2.2.0&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Qt 6.8&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust 1.87&lt;br /&gt;
* wlroots 0.18&lt;br /&gt;
* zigbee2mqtt 2.3.0&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;br /&gt;
&lt;br /&gt;
=== pcc (portable C compiler) ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, upstream&#039;s website [https://marc.info/?l=pcc-list&amp;amp;m=170541815829299&amp;amp;w=2 has been offline since 2023-12-11] and hasn&#039;t come back online since. AFAIK, there isn&#039;t any good alternative source that we can use. The best one we were able to find is an unofficial [https://repo.or.cz/pcc.git repo.or.cz mirror].&lt;br /&gt;
&lt;br /&gt;
As a consequence, other distros (e.g. [https://src.fedoraproject.org/rpms/pcc/c/6e04a3afcbdca49cb4f117e7febdf5ae67a3bed1?branch=rawhide Fedora]) have orphaned pcc and other distros (e.g. Debian) archive very ancient versions of pcc.&lt;br /&gt;
&lt;br /&gt;
=== ruby-grpc ===&lt;br /&gt;
&lt;br /&gt;
GRPC is a huge mess, and we lack the resources to support all its language bindings.&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30118</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30118"/>
		<updated>2025-05-30T11:44:20Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add pcc to Significant removals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. ({{MR|76764}})&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
=== nginx built with pcre2 ===&lt;br /&gt;
&lt;br /&gt;
Since this release, {{pkg|nginx|repo=main}} and {{pkg|njs|repo=community}} are built with pcre2 (10.x) instead of the old pcre (8.x).&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* Deno 2.3.1&lt;br /&gt;
* GCC 14.2.0&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go 1.24&lt;br /&gt;
* ISC BIND 9.20&lt;br /&gt;
* KDE Plasma 6.3&lt;br /&gt;
* Linux 6.12&lt;br /&gt;
* LLVM 20&lt;br /&gt;
* LXQt 2.2.0&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Qt 6.8&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust 1.87&lt;br /&gt;
* wlroots 0.18&lt;br /&gt;
* zigbee2mqtt 2.3.0&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;br /&gt;
&lt;br /&gt;
=== pcc (portable C compiler) ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, upstream&#039;s website [https://marc.info/?l=pcc-list&amp;amp;m=170541815829299&amp;amp;w=2 has been offline since 2023-12-11] and hasn&#039;t come back online since. AFAIK, there isn&#039;t any good alternative source that we can use. The best one we were able to find is an unofficial [https://repo.or.cz/pcc.git repo.or.cz mirror].&lt;br /&gt;
&lt;br /&gt;
As a consequence, other distros (e.g. [https://src.fedoraproject.org/rpms/pcc/c/6e04a3afcbdca49cb4f117e7febdf5ae67a3bed1?branch=rawhide Fedora]) have orphaned pcc and other distros (e.g. Debian) archive very ancient versions of pcc.&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30117</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30117"/>
		<updated>2025-05-30T11:36:28Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Deno 2.3.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. ({{MR|76764}})&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
=== nginx built with pcre2 ===&lt;br /&gt;
&lt;br /&gt;
Since this release, {{pkg|nginx|repo=main}} and {{pkg|njs|repo=community}} are built with pcre2 (10.x) instead of the old pcre (8.x).&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* Deno 2.3.1&lt;br /&gt;
* GCC 14.2.0&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go 1.24&lt;br /&gt;
* ISC BIND 9.20&lt;br /&gt;
* KDE Plasma 6.3&lt;br /&gt;
* Linux 6.12&lt;br /&gt;
* LLVM 20&lt;br /&gt;
* LXQt 2.2.0&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Qt 6.8&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust 1.87&lt;br /&gt;
* wlroots 0.18&lt;br /&gt;
* zigbee2mqtt 2.3.0&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30116</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30116"/>
		<updated>2025-05-30T11:35:21Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add zigbee2mqtt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. ({{MR|76764}})&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
=== nginx built with pcre2 ===&lt;br /&gt;
&lt;br /&gt;
Since this release, {{pkg|nginx|repo=main}} and {{pkg|njs|repo=community}} are built with pcre2 (10.x) instead of the old pcre (8.x).&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* GCC 14.2.0&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go 1.24&lt;br /&gt;
* ISC BIND 9.20&lt;br /&gt;
* KDE Plasma 6.3&lt;br /&gt;
* Linux 6.12&lt;br /&gt;
* LLVM 20&lt;br /&gt;
* LXQt 2.2.0&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Qt 6.8&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust 1.87&lt;br /&gt;
* wlroots 0.18&lt;br /&gt;
* zigbee2mqtt 2.3.0&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30115</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30115"/>
		<updated>2025-05-30T11:34:08Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add nginx built with pcre2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. ({{MR|76764}})&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
=== nginx built with pcre2 ===&lt;br /&gt;
&lt;br /&gt;
Since this release, {{pkg|nginx|repo=main}} and {{pkg|njs|repo=community}} are built with pcre2 (10.x) instead of the old pcre (8.x).&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1&lt;br /&gt;
* busybox 1.37.0&lt;br /&gt;
* GCC 14.2.0&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go 1.24&lt;br /&gt;
* ISC BIND 9.20&lt;br /&gt;
* KDE Plasma 6.3&lt;br /&gt;
* Linux 6.12&lt;br /&gt;
* LLVM 20&lt;br /&gt;
* LXQt 2.2.0&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Qt 6.8&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust 1.87&lt;br /&gt;
* wlroots 0.18&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30109</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30109"/>
		<updated>2025-05-29T21:31:00Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: if edge upgrades to apk-tools 3, remove the testing repo and apk-tools3 package mention}}&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. {{MR|76764}}&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|secureboot-hook|repo=main}} (and its dependency {{pkg|efi-mkuki|repo=main}}), which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.TODO&lt;br /&gt;
* busybox TODO&lt;br /&gt;
* GCC TODO&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go TODO&lt;br /&gt;
* ISC BIND 9.20.TODO&lt;br /&gt;
* KDE Plasma TODO&lt;br /&gt;
* Linux TODO&lt;br /&gt;
* LLVM TODO&lt;br /&gt;
* LXQt TODO&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP TODO&lt;br /&gt;
* Qt TODO&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust TODO&lt;br /&gt;
* wlroots TODO&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30108</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30108"/>
		<updated>2025-05-29T21:28:37Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add section Secure Boot and Gummiboot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: if edge upgrades to apk-tools 3, remove the testing repo and apk-tools3 package mention}}&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. {{MR|76764}}&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot and Gummiboot ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|secureboot-hook|repo=main}} package, which is used to build and sign an Unified Kernel Image for Secure Boot, no longer works with {{pkg|gummiboot-efistub|repo=testing}}. The default EFI stub is now {{pkg|systemd-efistub|repo=main}} (don’t worry, it provides just the EFI stub files, nothing more), but you can also use {{pkg|stubbyboot-efistub|repo=community}}.&lt;br /&gt;
&lt;br /&gt;
Provided you haven’t overwritten the &amp;lt;code&amp;gt;efistub_file&amp;lt;/code&amp;gt; parameter in {{path|/etc/kernel-hooks.d/secureboot.conf}}, you won’t need to take any action when upgrading – it should install {{pkg|systemd-efistub|repo=main}} automatically and everything should work fine. Otherwise, check the configuration carefully.&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gummiboot-efistub|repo=testing}} package has been moved to the testing repository and it no longer provides the &amp;lt;code&amp;gt;efistub&amp;lt;/code&amp;gt; provider. The Gummiboot upstream is gone (it was absorbed by systemd a long time ago) and some users have reported that it has not worked since Alpine v3.21.&lt;br /&gt;
&lt;br /&gt;
=== woodpecker ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|woodpecker|repo=community}} CI/CD package has been upgraded from 2.8.0 to 3.6.0. Between version 2.x -&amp;gt; 3.x several changes were made to Woodpecker&#039;s API and configuration.&lt;br /&gt;
&lt;br /&gt;
[https://woodpecker-ci.org/migrations#300 2.x -&amp;gt; 3.x migration information can be found here.]&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.TODO&lt;br /&gt;
* busybox TODO&lt;br /&gt;
* GCC TODO&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go TODO&lt;br /&gt;
* ISC BIND 9.20.TODO&lt;br /&gt;
* KDE Plasma TODO&lt;br /&gt;
* Linux TODO&lt;br /&gt;
* LLVM TODO&lt;br /&gt;
* LXQt TODO&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP TODO&lt;br /&gt;
* Qt TODO&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust TODO&lt;br /&gt;
* wlroots TODO&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30106</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30106"/>
		<updated>2025-05-29T18:57:39Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: if edge upgrades to apk-tools 3, remove the testing repo and apk-tools3 package mention}}&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. {{MR|76764}}&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{note|TODO: something something https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/84539}}&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.TODO&lt;br /&gt;
* busybox TODO&lt;br /&gt;
* GCC TODO&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go TODO&lt;br /&gt;
* ISC BIND 9.20.TODO&lt;br /&gt;
* KDE Plasma TODO&lt;br /&gt;
* Linux TODO&lt;br /&gt;
* LLVM TODO&lt;br /&gt;
* LXQt TODO&lt;br /&gt;
* nginx 1.28&lt;br /&gt;
* NodeJS 22.16 (LTS)&lt;br /&gt;
* PHP TODO&lt;br /&gt;
* Qt TODO&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust TODO&lt;br /&gt;
* wlroots TODO&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30105</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30105"/>
		<updated>2025-05-29T18:56:41Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Sort list of note-worthy updated alphabetically&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: if edge upgrades to apk-tools 3, remove the testing repo and apk-tools3 package mention}}&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. {{MR|76764}}&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{note|TODO: something something https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/84539}}&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* BIRD 3.1.TODO&lt;br /&gt;
* busybox TODO&lt;br /&gt;
* GCC TODO&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* Go TODO&lt;br /&gt;
* ISC BIND 9.20.TODO&lt;br /&gt;
* KDE Plasma TODO&lt;br /&gt;
* Linux TODO&lt;br /&gt;
* LLVM TODO&lt;br /&gt;
* LXQt TODO&lt;br /&gt;
* PHP TODO&lt;br /&gt;
* Qt TODO&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust TODO&lt;br /&gt;
* wlroots TODO&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30104</id>
		<title>Release Notes for Alpine 3.22.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.22.0&amp;diff=30104"/>
		<updated>2025-05-29T18:55:39Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Ruby to note-worthy updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As always, make sure to read [[Upgrading Alpine to a new major release]] when upgrading to a new release.&lt;br /&gt;
&lt;br /&gt;
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations for /usr-merge ===&lt;br /&gt;
&lt;br /&gt;
The work on /usr-merge has continued since last release. Precaution from [https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0#Preparations_for_/usr-merge previous release] still apply.&lt;br /&gt;
&lt;br /&gt;
== Significant changes ==&lt;br /&gt;
&lt;br /&gt;
=== apk-tools ===&lt;br /&gt;
&lt;br /&gt;
This release is the last release using apk-tools v2.14. The next Alpine v3.23 will include apk-tools v3. The packages and index format are still using the legacy v2 format.&lt;br /&gt;
&lt;br /&gt;
There are a number of new changes in the new apk-tools release. To test apk-tools v3, [https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch#Upgrading_to_Edge upgrade to Alpine edge, enable the testing repository] and install {{pkg|apk-tools3}}.&lt;br /&gt;
&lt;br /&gt;
{{Note|TODO: if edge upgrades to apk-tools 3, remove the testing repo and apk-tools3 package mention}}&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
The X11 session for KDE Plasma has been removed. If you had {{pkg|plasma-workspace-x11|branch=v3.21|arch=}} installed make sure to remove it from {{path|/etc/apk/world}}. Wayland is the only available option now.&lt;br /&gt;
&lt;br /&gt;
=== SDL ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sdl3}} and {{pkg|sdl2-compat}} were moved to the community repository and are now the default SDL provider. To force the installation of {{pkg|sdl2}}, use &amp;lt;code&amp;gt;apk add sdl2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Adwaita Fonts ===&lt;br /&gt;
&lt;br /&gt;
As a result of [https://release.gnome.org/48/#new-fonts GNOME&#039;s switch] to {{pkg|adwaita-fonts}}, the default font for GTK-based applications (e.g. {{pkg|vte3}} or {{pkg|libadwaita}} Applications) was changed. If you want to revert or override the fonts, you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apk add font-cantarell font-adobe-source-code-pro&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface font-name &#039;Cantarell 11&#039;&lt;br /&gt;
$ gsettings set org.gnome.desktop.interface monospace-font-name &#039;Source Code Pro 11&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pkg|adwaita-fonts}} is pulled in as a dependency of some packages since it broke the default behaviour for various applications.&lt;br /&gt;
&lt;br /&gt;
=== GeoClue ===&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Location Services (MLS), which were used as the geolocation service in geoclue, [https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693 has been retired by Mozilla], Alpine switched to [https://beacondb.net/ beaconDB] as the default geolocation provider. {{MR|76764}}&lt;br /&gt;
&lt;br /&gt;
=== BIRD Routing Daemon ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|bird|repo=community}} routing daemon package has been upgrade to version 3 which introduces a new multi-threaded architecture. A side effect of this change is [https://trubka.network.cz/pipermail/bird-users/2024-December/017973.html significantly increased memory consumption] of the daemon. This update is configuration-compatible with BIRD v2 but there are some behavioral backwards incompatibilities. Users should read the [https://gitlab.nic.cz/labs/bird/-/blob/stable-v3.0/doc/migration-bird3.md migration guide]. Notably the format of &amp;lt;tt&amp;gt;show route all&amp;lt;/tt&amp;gt; has changed as has the format of the logs, which may impact scripts and automation that consume those outputs. Users who require BIRD v2 should install the {{pkg|bird2|repo=community}} package instead.&lt;br /&gt;
&lt;br /&gt;
=== gummiboot ===&lt;br /&gt;
&lt;br /&gt;
{{note|TODO: something something https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/84539}}&lt;br /&gt;
&lt;br /&gt;
== Note-worthy updates ==&lt;br /&gt;
&lt;br /&gt;
As always, many packages were upgraded. Make sure to read the individual release notes of the projects you use.&lt;br /&gt;
&lt;br /&gt;
* Linux TODO&lt;br /&gt;
* busybox TODO&lt;br /&gt;
* GCC TODO&lt;br /&gt;
* LLVM TODO&lt;br /&gt;
* Go TODO&lt;br /&gt;
* Ruby 3.4&lt;br /&gt;
* Rust TODO&lt;br /&gt;
* PHP TODO&lt;br /&gt;
* GNOME 48&lt;br /&gt;
* KDE Plasma TODO&lt;br /&gt;
* LXQt TODO&lt;br /&gt;
* Qt TODO&lt;br /&gt;
* wlroots TODO&lt;br /&gt;
* ISC BIND 9.20.TODO&lt;br /&gt;
* BIRD 3.1.TODO&lt;br /&gt;
&lt;br /&gt;
=== LLVM ===&lt;br /&gt;
&lt;br /&gt;
LLVM 20 is available as {{pkg|llvm}}/{{pkg|clang}} (or {{pkg|llvm20}}/{{pkg|clang20}} explictly) additionally to LLVM 19, 18, 17, 16 and 15. ({{MR|80901}}, {{MR|82502}})&lt;br /&gt;
&lt;br /&gt;
LLD is now also splitted per version and is available as {{pkg|lld20}} (default for {{pkg|lld}}), {{pkg|lld19}} and {{pkg|lld18}}. ({{MR|81774}})&lt;br /&gt;
&lt;br /&gt;
== Significant removals ==&lt;br /&gt;
&lt;br /&gt;
=== LXD ===&lt;br /&gt;
&lt;br /&gt;
LXD was moved to the testing repository and is therefore not available on Alpine Linux 3.22. It was deprecated in favor of {{pkg|incus}} and {{pkg|incus-feature}} (feature branch).&lt;br /&gt;
&lt;br /&gt;
Take a look at the [https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ Migration Guide] on how to migrate from LXD to Incus using the {{pkg|incus-conversion}} or {{pkg|incus-feature-conversion}} package.&lt;br /&gt;
&lt;br /&gt;
=== Qt 5 ===&lt;br /&gt;
&lt;br /&gt;
On 26th of May 2025, Qt 5 will be unmaintained upstream. Therefore we&#039;re removing unused libraries from our repositories and are migrating the remaining packages to Qt 6.&lt;br /&gt;
&lt;br /&gt;
Applications that still use Qt 5 libraries won&#039;t be removed, but libraries without consumers in our repository will.&lt;br /&gt;
&lt;br /&gt;
For more information, see Issue {{Issue|17114}}.&lt;br /&gt;
&lt;br /&gt;
=== Meilisearch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;meilisearch&amp;lt;/code&amp;gt; in aports has not been maintained for a long time. It&#039;s removed from Alpine 3.22.&lt;br /&gt;
&lt;br /&gt;
=== Botan 2 ===&lt;br /&gt;
&lt;br /&gt;
Botan2 has reached End of Life and will not be part of 3.22 release&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=UEFI_Secure_Boot&amp;diff=29924</id>
		<title>UEFI Secure Boot</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=UEFI_Secure_Boot&amp;diff=29924"/>
		<updated>2025-05-23T22:15:44Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Replace gummiboot-efistub with systemd-efistub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Refer [[Alpine_and_UEFI|UEFI]] page for info other than Secure boot.&lt;br /&gt;
== Mounting ESP ==&lt;br /&gt;
&lt;br /&gt;
Prepare mount point for UEFI partition (ESP) at {{path|/boot/efi}}:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# install -d -m 000 /boot/efi}}&lt;br /&gt;
&lt;br /&gt;
Add the following line to {{path|/etc/fstab}}:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/fstab|...&lt;br /&gt;
UUID{{=}}&amp;lt;first-partition-uuid&amp;gt;  /boot/efi  vfat  rw,noatime,fmask{{=}}0022,dmask{{=}}0022,codepage{{=}}437,iocharset{{=}}ascii,shortname{{=}}mixed,utf8,errors{{=}}remount-ro 0 2}}&lt;br /&gt;
&lt;br /&gt;
Mount it:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# mount /boot/efi}}&lt;br /&gt;
&lt;br /&gt;
== Generating own UEFI keys ==&lt;br /&gt;
&lt;br /&gt;
Install package {{pkg|efi-mkkeys}}:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk add efi-mkkeys}}&lt;br /&gt;
&lt;br /&gt;
Before creating new keys and modifying EFI variables, it is advisable to backup the current variables, so that they may be restored in case of error:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# mkdir -p /etc/uefi-keys/vendor&lt;br /&gt;
&amp;amp;#35; cd /etc/uefi-keys/vendor&lt;br /&gt;
&amp;amp;#35; for i in PK KEK db dbx; do efi-readvar -v $i -o $i.esl; done }}&lt;br /&gt;
&lt;br /&gt;
Generate your self-signed PK, KEK and db key, including .esl and .auth files:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# efi-mkkeys -s &amp;quot;Your Name&amp;quot; -o /etc/uefi-keys}}&lt;br /&gt;
&lt;br /&gt;
Now you can uninstall {{pkg|efi-mkkeys}} if you want:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk del efi-mkkeys}}&lt;br /&gt;
&lt;br /&gt;
== Generating Unified Kernel Image ==&lt;br /&gt;
&lt;br /&gt;
Install package {{pkg|secureboot-hook}}, {{pkg|systemd-efistub}} (Alpine v3.22+) or {{pkg|gummiboot-efistub}} (prior v3.22), and {{pkg|efibootmgr}}:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk add secureboot-hook systemd-efistub efibootmgr}}&lt;br /&gt;
&lt;br /&gt;
{{note|{{pkg|systemd-efistub}} only provides EFI stub binaries, it doesn’t depend on any systemd components. {{pkg|gummiboot-efistub}} doesn’t work anymore.}}&lt;br /&gt;
&lt;br /&gt;
Adjust parameter &amp;lt;code&amp;gt;cmdline&amp;lt;/code&amp;gt; in {{path|/etc/kernel-hooks.d/secureboot.conf}}. It should &#039;&#039;&#039;not&#039;&#039;&#039; contain an &amp;lt;code&amp;gt;initrd=&amp;lt;/code&amp;gt; parameter! Example of a valid &amp;lt;code&amp;gt;cmdline&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cmdline=&amp;quot;root=UUID=&amp;lt;uuid-of-your-root-fs&amp;gt; modules=ext4&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run kernel hooks:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk fix kernel-hooks}}&lt;br /&gt;
&lt;br /&gt;
Disable {{pkg|mkinitfs}} trigger:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# echo &#039;disable_trigger{{=}}yes&#039; &amp;gt;&amp;gt; /etc/mkinitfs/mkinitfs.conf}}&lt;br /&gt;
&lt;br /&gt;
Add boot entry:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# efibootmgr --disk &amp;lt;dev&amp;gt; --part 1 --create --label &#039;Alpine Linux&#039; --load /Alpine/linux-lts.efi --verbose}}&lt;br /&gt;
&lt;br /&gt;
Note: This procedure only needs to be done once; after that the Unified Kernel Image will be generated automatically every time the kernel is upgraded.&lt;br /&gt;
&lt;br /&gt;
== Enrolling UEFI keys ==&lt;br /&gt;
&lt;br /&gt;
Copy all *.esl, *.auth files from {{path|/etc/uefi-keys}} to a FAT formatted file system (you can use EFI system partition).&lt;br /&gt;
&lt;br /&gt;
Launch firmware setup utility and enrol db, KEK and PK certificates (in this order!). Firmwares have various different interfaces; the following steps for ThinkPad T14s are just an example.&lt;br /&gt;
&lt;br /&gt;
# Reboot system and enter ThinkPad Setup (F1).&lt;br /&gt;
# Go to &#039;&#039;&#039;Security&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Secure Boot&#039;&#039;&#039;&lt;br /&gt;
# Change &#039;&#039;&#039;Secure Boot&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Reset to Setup Mode&#039;&#039;&#039;&lt;br /&gt;
# Go to &#039;&#039;&#039;Key Management&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Authorized Signature Database (DB)&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Enroll DB&#039;&#039;&#039; &amp;gt; select your Flash Drive &amp;gt; select &#039;&#039;&#039;db.auth&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Delete DB&#039;&#039;&#039; &amp;gt; delete Microsoft certificates (optional)&lt;br /&gt;
# &#039;&#039;&#039;Key Exchange Key (KEK)&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Enroll KEK&#039;&#039;&#039; &amp;gt; select your Flash Drive &amp;gt; select &#039;&#039;&#039;KEK.auth&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Delete KEK&#039;&#039;&#039; &amp;gt; delete Microsoft certificates (optional)&lt;br /&gt;
# &#039;&#039;&#039;Platform Key (PK)&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Enroll PK&#039;&#039;&#039; &amp;gt; select your Flash Drive &amp;gt; select &#039;&#039;&#039;PK.auth&#039;&#039;&#039; (this MUST be the last!)&lt;br /&gt;
# Go to top, &#039;&#039;&#039;Restart&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Exit Saving Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some devices, such as HP Pavilion laptops, cannot enroll keys through the interface. Instead, you must follow the following steps (steps 1-5 and 9-12 may vary depending on the computer, they are for HP Pavilion laptops as an example):&lt;br /&gt;
# Reboot system and enter HP Bios Setup Utility (F10).&lt;br /&gt;
# Go to &#039;&#039;&#039;System Configuration&#039;&#039;&#039;&lt;br /&gt;
# Change &#039;&#039;&#039;Secure Boot&#039;&#039;&#039; to &#039;&#039;&#039;Disabled&#039;&#039;&#039;&lt;br /&gt;
# Select &#039;&#039;&#039;Clear All Secure Boot Keys&#039;&#039;&#039;&lt;br /&gt;
# Press F10 to save settings&lt;br /&gt;
# Reboot system and enter Alpine Linux&lt;br /&gt;
# Enable the [[Repositories|Community Repository]]&lt;br /&gt;
# Run the following commands: &lt;br /&gt;
{{cmd|# apk update&lt;br /&gt;
&amp;amp;#35; apk add sbctl&lt;br /&gt;
&amp;amp;#35; sbctl create-keys&lt;br /&gt;
&amp;amp;#35; sbctl sign /boot/efi/Alpine/linux-lts.efi&lt;br /&gt;
&amp;amp;#35; sbctl enroll-keys -m  }}&lt;br /&gt;
# &amp;lt;li value=&amp;quot;9&amp;quot;&amp;gt; Reboot system and enter HP Bios Setup Utility (F10).&lt;br /&gt;
# Go to &#039;&#039;&#039;System Configuration&#039;&#039;&#039;&lt;br /&gt;
# Change &#039;&#039;&#039;Secure Boot&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
# Press F10 to save settings&lt;br /&gt;
&lt;br /&gt;
Note: If you needed to use sbctl, you will have to run &amp;lt;code&amp;gt;sbctl sign /boot/efi/Alpine/linux-lts.efi&amp;lt;/code&amp;gt; every time you upgrade the kernel. You should &#039;&#039;&#039;not&#039;&#039;&#039; need to disable secure boot, so long as you sign the new Unified Kernel Image before you reboot.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Initramfs init]]&lt;br /&gt;
* &amp;lt;code&amp;gt;mkinitfs-bootparam(7)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/User:Sakaki/Sakaki%27s_EFI_Install_Guide/Configuring_Secure_Boot Sakaki&#039;s EFI Install Guide/Configuring Secure Boot - Gentoo Wiki]&lt;br /&gt;
* [https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot Unified Extensible Firmware Interface/Secure Boot - ArchWiki]&lt;br /&gt;
* [https://github.com/jirutka/efi-mkuki efi-mkuki: EFI Unified Kernel Image Maker] (used by the {{pkg|secureboot-hook}} package)&lt;br /&gt;
&lt;br /&gt;
[[Category:Booting]] [[Category:UEFI]]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Oracle_Java&amp;diff=29088</id>
		<title>Installing Oracle Java</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Oracle_Java&amp;diff=29088"/>
		<updated>2025-02-18T13:14:49Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Obsolete and encourages to use unofficial and harmful glibc package&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26747</id>
		<title>Release Notes for Alpine 3.20.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26747"/>
		<updated>2024-05-20T21:43:38Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Improve formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== grub 2.12 ===&lt;br /&gt;
&lt;br /&gt;
When upgrading existing installations using grub on UEFI systems, make sure to update the installed bootloader before rebooting otherwise your machine might not boot.&lt;br /&gt;
&lt;br /&gt;
The problem is that grub added a new configuration that executes &amp;lt;code&amp;gt;fwsetup --is-supported&amp;lt;/code&amp;gt;, but grub 2.06 does not support the &amp;lt;code&amp;gt;--is-supported&amp;lt;/code&amp;gt; argument yet, causing grub to try to reboot into firmware unconditionally.&lt;br /&gt;
&lt;br /&gt;
Here is an example assuming the default setup. Don&#039;t blindly copy this example, but verify what&#039;s applicable to your system.&lt;br /&gt;
 &lt;br /&gt;
==== EFI ====&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&lt;br /&gt;
 # grub-install --target{{=}}&amp;lt;var&amp;gt;$target&amp;lt;/var&amp;gt; --efi-directory{{=}}&amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt; \&lt;br /&gt;
    --bootloader-id{{=}}alpine --boot-directory{{=}}/boot --no-nvram&lt;br /&gt;
 # install -D &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/alpine/grub&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/boot/boot&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
; target : The relevant [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 target] for your system&lt;br /&gt;
; efi_directory : Either {{Path|/boot/efi}} or {{Path|/boot}}. Run &amp;lt;code&amp;gt;awk &#039;$2 ~ /boot/ &amp;amp;&amp;amp; $3 ~ /fat|msdos/ { print $2 }&#039; /proc/mounts&amp;lt;/code&amp;gt; to confirm.&lt;br /&gt;
; fwa : The respective [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 firmware architecture] for your system&lt;br /&gt;
&lt;br /&gt;
==== Short-term workaround ====&lt;br /&gt;
&lt;br /&gt;
A short-term workaround to get the system bootable again is to restore the backup configuration:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|cp /boot/grub/grub.cfg.backup /boot/grub.cfg }}&lt;br /&gt;
&lt;br /&gt;
This should allow you to boot the system again in order to fix it permanently. This will be reverted when either grub or the kernel is updated again.&lt;br /&gt;
&lt;br /&gt;
This will only work if &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt; has not been executed any more since the upgrade to grub 2.12.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
Due to [https://github.com/redis/redis/pull/13157 the relicensing of Redis] to [https://redis.io/legal/rsalv2-agreement/ RSALv2]+[https://redis.io/legal/server-side-public-license-sspl/ SSPLv1], a non-free license model, the [https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause] licensed fork [https://valkey.io/ Valkey] has replaced Redis in the main package repository.&lt;br /&gt;
&lt;br /&gt;
A {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|valkey-compat|branch=v3.20|arch=}}|{{pkg|valkey-compat|branch=edge|arch=}}}} package is provided with symlinks and group for easy Redis replacement.&lt;br /&gt;
&lt;br /&gt;
The {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|redis|branch=v3.20|arch=}}|{{pkg|redis|branch=edge|arch=}}}} aport has been moved to the community repository, with a shorter support cycle, and will not be upgraded past 7.2.x due to the license change.&lt;br /&gt;
&lt;br /&gt;
Another replacement alternative, the [https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] licensed fork [https://redict.io/ Redict] is also available in the community repository.&lt;br /&gt;
&lt;br /&gt;
=== yq ===&lt;br /&gt;
yq was renamed to yq-go. [https://gitlab.alpinelinux.org/alpine/aports/-/issues/16052 #16052]&lt;br /&gt;
&lt;br /&gt;
=== aws-cli ===&lt;br /&gt;
Due to incompatibility issues with Python 3.12, aws-cli has been temporarily disabled until the issue is resolved by upstream. See the corresponding problem upstream: [https://github.com/aws/aws-cli/issues/8342 #8342]&lt;br /&gt;
&lt;br /&gt;
=== GNOME 46 ===&lt;br /&gt;
&lt;br /&gt;
New upstream release of GNOME.&lt;br /&gt;
&lt;br /&gt;
Depending on how you installed GNOME, you may have to manually add &amp;lt;code&amp;gt;gcr-ssh-agent&amp;lt;/code&amp;gt; after upgrading to retain GNOME Keyring ssh integration.&lt;br /&gt;
&lt;br /&gt;
== Upgrades ==&lt;br /&gt;
&lt;br /&gt;
* Crystal 1.12&lt;br /&gt;
* LLVM 18&lt;br /&gt;
* nginx 1.26&lt;br /&gt;
* .NET 8&lt;br /&gt;
* Nim 2.0&lt;br /&gt;
* OpenJDK 22&lt;br /&gt;
* Python 3.12&lt;br /&gt;
* Racket 8.13&lt;br /&gt;
* Ruby 3.3&lt;br /&gt;
* Rust 1.7.8&lt;br /&gt;
* R 4.4&lt;br /&gt;
* Sway 1.9&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26746</id>
		<title>Release Notes for Alpine 3.20.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26746"/>
		<updated>2024-05-20T21:42:09Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Update Upgrades&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== grub 2.12 ===&lt;br /&gt;
&lt;br /&gt;
When upgrading existing installations using grub on UEFI systems, make sure to update the installed bootloader before rebooting otherwise your machine might not boot.&lt;br /&gt;
&lt;br /&gt;
The problem is that grub added a new configuration that executes &amp;lt;code&amp;gt;fwsetup --is-supported&amp;lt;/code&amp;gt;, but grub 2.06 does not support the &amp;lt;code&amp;gt;--is-supported&amp;lt;/code&amp;gt; argument yet, causing grub to try to reboot into firmware unconditionally.&lt;br /&gt;
&lt;br /&gt;
Here is an example assuming the default setup. Don&#039;t blindly copy this example, but verify what&#039;s applicable to your system.&lt;br /&gt;
 &lt;br /&gt;
==== EFI ====&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&lt;br /&gt;
 # grub-install --target{{=}}&amp;lt;var&amp;gt;$target&amp;lt;/var&amp;gt; --efi-directory{{=}}&amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt; \&lt;br /&gt;
    --bootloader-id{{=}}alpine --boot-directory{{=}}/boot --no-nvram&lt;br /&gt;
 # install -D &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/alpine/grub&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/boot/boot&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
; target : The relevant [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 target] for your system&lt;br /&gt;
; efi_directory : Either {{Path|/boot/efi}} or {{Path|/boot}}. Run &amp;lt;code&amp;gt;awk &#039;$2 ~ /boot/ &amp;amp;&amp;amp; $3 ~ /fat|msdos/ { print $2 }&#039; /proc/mounts&amp;lt;/code&amp;gt; to confirm.&lt;br /&gt;
; fwa : The respective [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 firmware architecture] for your system&lt;br /&gt;
&lt;br /&gt;
==== Short-term workaround ====&lt;br /&gt;
&lt;br /&gt;
A short-term workaround to get the system bootable again is to restore the backup configuration:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|cp /boot/grub/grub.cfg.backup /boot/grub.cfg }}&lt;br /&gt;
&lt;br /&gt;
This should allow you to boot the system again in order to fix it permanently. This will be reverted when either grub or the kernel is updated again.&lt;br /&gt;
&lt;br /&gt;
This will only work if &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt; has not been executed any more since the upgrade to grub 2.12.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
Due to [https://github.com/redis/redis/pull/13157 the relicensing of Redis] to [https://redis.io/legal/rsalv2-agreement/ RSALv2]+[https://redis.io/legal/server-side-public-license-sspl/ SSPLv1], a non-free license model, the [https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause] licensed fork [https://valkey.io/ Valkey] has replaced Redis in the main package repository.&lt;br /&gt;
&lt;br /&gt;
A {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|valkey-compat|branch=v3.20|arch=}}|{{pkg|valkey-compat|branch=edge|arch=}}}} package is provided with symlinks and group for easy Redis replacement.&lt;br /&gt;
&lt;br /&gt;
The {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|redis|branch=v3.20|arch=}}|{{pkg|redis|branch=edge|arch=}}}} aport has been moved to the community repository, with a shorter support cycle, and will not be upgraded past 7.2.x due to the license change.&lt;br /&gt;
&lt;br /&gt;
Another replacement alternative, the [https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] licensed fork [https://redict.io/ Redict] is also available in the community repository.&lt;br /&gt;
&lt;br /&gt;
=== yq ===&lt;br /&gt;
yq was renamed to yq-go. https://gitlab.alpinelinux.org/alpine/aports/-/issues/16052&lt;br /&gt;
&lt;br /&gt;
=== aws-cli ===&lt;br /&gt;
Due to incompatibility issues with Python 3.12, aws-cli has been temporarily disabled until the issue is resolved by upstream. See the corresponding problem upstream: https://github.com/aws/aws-cli/issues/8342&lt;br /&gt;
&lt;br /&gt;
=== GNOME 46 ===&lt;br /&gt;
&lt;br /&gt;
New upstream release of GNOME.&lt;br /&gt;
&lt;br /&gt;
Depending on how you installed GNOME, you may have to manually add &amp;lt;code&amp;gt;gcr-ssh-agent&amp;lt;/code&amp;gt; after upgrading to retain GNOME Keyring ssh integration.&lt;br /&gt;
&lt;br /&gt;
== Upgrades ==&lt;br /&gt;
&lt;br /&gt;
* Crystal 1.12&lt;br /&gt;
* LLVM 18&lt;br /&gt;
* nginx 1.26&lt;br /&gt;
* .NET 8&lt;br /&gt;
* Nim 2.0&lt;br /&gt;
* OpenJDK 22&lt;br /&gt;
* Python 3.12&lt;br /&gt;
* Racket 8.13&lt;br /&gt;
* Ruby 3.3&lt;br /&gt;
* Rust 1.7.8&lt;br /&gt;
* R 4.4&lt;br /&gt;
* Sway 1.9&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26745</id>
		<title>Release Notes for Alpine 3.20.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26745"/>
		<updated>2024-05-20T21:41:10Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Upgrades&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== grub 2.12 ===&lt;br /&gt;
&lt;br /&gt;
When upgrading existing installations using grub on UEFI systems, make sure to update the installed bootloader before rebooting otherwise your machine might not boot.&lt;br /&gt;
&lt;br /&gt;
The problem is that grub added a new configuration that executes &amp;lt;code&amp;gt;fwsetup --is-supported&amp;lt;/code&amp;gt;, but grub 2.06 does not support the &amp;lt;code&amp;gt;--is-supported&amp;lt;/code&amp;gt; argument yet, causing grub to try to reboot into firmware unconditionally.&lt;br /&gt;
&lt;br /&gt;
Here is an example assuming the default setup. Don&#039;t blindly copy this example, but verify what&#039;s applicable to your system.&lt;br /&gt;
 &lt;br /&gt;
==== EFI ====&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&lt;br /&gt;
 # grub-install --target{{=}}&amp;lt;var&amp;gt;$target&amp;lt;/var&amp;gt; --efi-directory{{=}}&amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt; \&lt;br /&gt;
    --bootloader-id{{=}}alpine --boot-directory{{=}}/boot --no-nvram&lt;br /&gt;
 # install -D &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/alpine/grub&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/boot/boot&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
; target : The relevant [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 target] for your system&lt;br /&gt;
; efi_directory : Either {{Path|/boot/efi}} or {{Path|/boot}}. Run &amp;lt;code&amp;gt;awk &#039;$2 ~ /boot/ &amp;amp;&amp;amp; $3 ~ /fat|msdos/ { print $2 }&#039; /proc/mounts&amp;lt;/code&amp;gt; to confirm.&lt;br /&gt;
; fwa : The respective [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 firmware architecture] for your system&lt;br /&gt;
&lt;br /&gt;
==== Short-term workaround ====&lt;br /&gt;
&lt;br /&gt;
A short-term workaround to get the system bootable again is to restore the backup configuration:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|cp /boot/grub/grub.cfg.backup /boot/grub.cfg }}&lt;br /&gt;
&lt;br /&gt;
This should allow you to boot the system again in order to fix it permanently. This will be reverted when either grub or the kernel is updated again.&lt;br /&gt;
&lt;br /&gt;
This will only work if &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt; has not been executed any more since the upgrade to grub 2.12.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
Due to [https://github.com/redis/redis/pull/13157 the relicensing of Redis] to [https://redis.io/legal/rsalv2-agreement/ RSALv2]+[https://redis.io/legal/server-side-public-license-sspl/ SSPLv1], a non-free license model, the [https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause] licensed fork [https://valkey.io/ Valkey] has replaced Redis in the main package repository.&lt;br /&gt;
&lt;br /&gt;
A {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|valkey-compat|branch=v3.20|arch=}}|{{pkg|valkey-compat|branch=edge|arch=}}}} package is provided with symlinks and group for easy Redis replacement.&lt;br /&gt;
&lt;br /&gt;
The {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|redis|branch=v3.20|arch=}}|{{pkg|redis|branch=edge|arch=}}}} aport has been moved to the community repository, with a shorter support cycle, and will not be upgraded past 7.2.x due to the license change.&lt;br /&gt;
&lt;br /&gt;
Another replacement alternative, the [https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] licensed fork [https://redict.io/ Redict] is also available in the community repository.&lt;br /&gt;
&lt;br /&gt;
=== yq ===&lt;br /&gt;
yq was renamed to yq-go. https://gitlab.alpinelinux.org/alpine/aports/-/issues/16052&lt;br /&gt;
&lt;br /&gt;
=== aws-cli ===&lt;br /&gt;
Due to incompatibility issues with Python 3.12, aws-cli has been temporarily disabled until the issue is resolved by upstream. See the corresponding problem upstream: https://github.com/aws/aws-cli/issues/8342&lt;br /&gt;
&lt;br /&gt;
=== GNOME 46 ===&lt;br /&gt;
&lt;br /&gt;
New upstream release of GNOME.&lt;br /&gt;
&lt;br /&gt;
Depending on how you installed GNOME, you may have to manually add &amp;lt;code&amp;gt;gcr-ssh-agent&amp;lt;/code&amp;gt; after upgrading to retain GNOME Keyring ssh integration.&lt;br /&gt;
&lt;br /&gt;
== Upgrades ==&lt;br /&gt;
&lt;br /&gt;
* Crystal 1.12&lt;br /&gt;
* LLVM 18&lt;br /&gt;
* nginx 1.26&lt;br /&gt;
* .NET 8&lt;br /&gt;
* Nim 2.0&lt;br /&gt;
* OpenJDK 22&lt;br /&gt;
* Python 3.12&lt;br /&gt;
* Racket 8.13&lt;br /&gt;
* Ruby 3.3&lt;br /&gt;
* Rust 1.7.8&lt;br /&gt;
* R 4.4&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26744</id>
		<title>Release Notes for Alpine 3.20.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.20.0&amp;diff=26744"/>
		<updated>2024-05-20T21:20:33Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Fix grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== grub 2.12 ===&lt;br /&gt;
&lt;br /&gt;
When upgrading existing installations using grub on UEFI systems, make sure to update the installed bootloader before rebooting otherwise your machine might not boot.&lt;br /&gt;
&lt;br /&gt;
The problem is that grub added a new configuration that executes &amp;lt;code&amp;gt;fwsetup --is-supported&amp;lt;/code&amp;gt;, but grub 2.06 does not support the &amp;lt;code&amp;gt;--is-supported&amp;lt;/code&amp;gt; argument yet, causing grub to try to reboot into firmware unconditionally.&lt;br /&gt;
&lt;br /&gt;
Here is an example assuming the default setup. Don&#039;t blindly copy this example, but verify what&#039;s applicable to your system.&lt;br /&gt;
 &lt;br /&gt;
==== EFI ====&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&lt;br /&gt;
 # grub-install --target{{=}}&amp;lt;var&amp;gt;$target&amp;lt;/var&amp;gt; --efi-directory{{=}}&amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt; \&lt;br /&gt;
    --bootloader-id{{=}}alpine --boot-directory{{=}}/boot --no-nvram&lt;br /&gt;
 # install -D &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/alpine/grub&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi &amp;lt;var&amp;gt;$efi_directory&amp;lt;/var&amp;gt;/EFI/boot/boot&amp;lt;var&amp;gt;$fwa&amp;lt;/var&amp;gt;.efi&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
; target : The relevant [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 target] for your system&lt;br /&gt;
; efi_directory : Either {{Path|/boot/efi}} or {{Path|/boot}}. Run &amp;lt;code&amp;gt;awk &#039;$2 ~ /boot/ &amp;amp;&amp;amp; $3 ~ /fat|msdos/ { print $2 }&#039; /proc/mounts&amp;lt;/code&amp;gt; to confirm.&lt;br /&gt;
; fwa : The respective [https://gitlab.alpinelinux.org/alpine/alpine-conf/-/blob/master/setup-disk.in#L320-324 firmware architecture] for your system&lt;br /&gt;
&lt;br /&gt;
==== Short-term workaround ====&lt;br /&gt;
&lt;br /&gt;
A short-term workaround to get the system bootable again is to restore the backup configuration:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|cp /boot/grub/grub.cfg.backup /boot/grub.cfg }}&lt;br /&gt;
&lt;br /&gt;
This should allow you to boot the system again in order to fix it permanently. This will be reverted when either grub or the kernel is updated again.&lt;br /&gt;
&lt;br /&gt;
This will only work if &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt; has not been executed any more since the upgrade to grub 2.12.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
Due to [https://github.com/redis/redis/pull/13157 the relicensing of Redis] to [https://redis.io/legal/rsalv2-agreement/ RSALv2]+[https://redis.io/legal/server-side-public-license-sspl/ SSPLv1], a non-free license model, the [https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause] licensed fork [https://valkey.io/ Valkey] has replaced Redis in the main package repository.&lt;br /&gt;
&lt;br /&gt;
A {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|valkey-compat|branch=v3.20|arch=}}|{{pkg|valkey-compat|branch=edge|arch=}}}} package is provided with symlinks and group for easy Redis replacement.&lt;br /&gt;
&lt;br /&gt;
The {{#ifexpr: {{AlpineLatest}} &amp;gt;= 3.20 |{{pkg|redis|branch=v3.20|arch=}}|{{pkg|redis|branch=edge|arch=}}}} aport has been moved to the community repository, with a shorter support cycle, and will not be upgraded past 7.2.x due to the license change.&lt;br /&gt;
&lt;br /&gt;
Another replacement alternative, the [https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] licensed fork [https://redict.io/ Redict] is also available in the community repository.&lt;br /&gt;
&lt;br /&gt;
=== yq ===&lt;br /&gt;
yq was renamed to yq-go. https://gitlab.alpinelinux.org/alpine/aports/-/issues/16052&lt;br /&gt;
&lt;br /&gt;
=== aws-cli ===&lt;br /&gt;
Due to incompatibility issues with Python 3.12, aws-cli has been temporarily disabled until the issue is resolved by upstream. See the corresponding problem upstream: https://github.com/aws/aws-cli/issues/8342&lt;br /&gt;
&lt;br /&gt;
=== GNOME 46 ===&lt;br /&gt;
&lt;br /&gt;
New upstream release of GNOME.&lt;br /&gt;
&lt;br /&gt;
Depending on how you installed GNOME, you may have to manually add &amp;lt;code&amp;gt;gcr-ssh-agent&amp;lt;/code&amp;gt; after upgrading to retain GNOME Keyring ssh integration.&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=UEFI_Secure_Boot&amp;diff=25052</id>
		<title>UEFI Secure Boot</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=UEFI_Secure_Boot&amp;diff=25052"/>
		<updated>2023-09-05T23:31:52Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add gummiboot-efistub to packages needed to install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mounting ESP ==&lt;br /&gt;
&lt;br /&gt;
Prepare mount point for UEFI partition (ESP) at {{path|/boot/efi}}:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# install -d -m 000 /boot/efi}}&lt;br /&gt;
&lt;br /&gt;
Add the following line to {{path|/etc/fstab}}:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/fstab|...&lt;br /&gt;
UUID{{=}}&amp;lt;first-partition-uuid&amp;gt;  /boot/efi  vfat  rw,noatime,fmask{{=}}0022,dmask{{=}}0022,codepage{{=}}437,iocharset{{=}}ascii,shortname{{=}}mixed,utf8,errors{{=}}remount-ro 0 2}}&lt;br /&gt;
&lt;br /&gt;
Mount it:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# mount /boot/efi}}&lt;br /&gt;
&lt;br /&gt;
== Generating own UEFI keys ==&lt;br /&gt;
&lt;br /&gt;
Install package {{pkg|efi-mkkeys}}:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk add efi-mkkeys}}&lt;br /&gt;
&lt;br /&gt;
Before creating new keys and modifying EFI variables, it is advisable to backup the current variables, so that they may be restored in case of error:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# mkdir -p /etc/uefi-keys/vendor&lt;br /&gt;
&amp;amp;#35; cd /etc/uefi-keys/vendor&lt;br /&gt;
&amp;amp;#35; for i in PK KEK db dbx; do efi-readvar -v $i -o $i.esl; done }}&lt;br /&gt;
&lt;br /&gt;
Generate your self-signed PK, KEK and db key, including .esl and .auth files:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# efi-mkkeys -s &amp;quot;Your Name&amp;quot; -o /etc/uefi-keys}}&lt;br /&gt;
&lt;br /&gt;
Now you can uninstall {{pkg|efi-mkkeys}} if you want:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk del efi-mkkeys}}&lt;br /&gt;
&lt;br /&gt;
== Generating Unified Kernel Image ==&lt;br /&gt;
&lt;br /&gt;
Install package {{pkg|secureboot-hook}}, {{pkg|gummiboot-efistub}}, and {{pkg|efibootmgr}}:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk add secureboot-hook gummiboot-efistub efibootmgr}}&lt;br /&gt;
&lt;br /&gt;
Adjust parameter &amp;lt;code&amp;gt;cmdline&amp;lt;/code&amp;gt; in {{path|/etc/kernel-hooks.d/secureboot.conf}}. It should &#039;&#039;&#039;not&#039;&#039;&#039; contain an &amp;lt;code&amp;gt;initrd=&amp;lt;/code&amp;gt; parameter! Example of a valid &amp;lt;code&amp;gt;cmdline&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cmdline=&amp;quot;root=UUID=&amp;lt;uuid-of-your-root-fs&amp;gt; modules=ext4&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run kernel hooks:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# apk fix kernel-hooks}}&lt;br /&gt;
&lt;br /&gt;
Disable {{pkg|mkinitfs}} trigger:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# echo &#039;disable_trigger{{=}}yes&#039; &amp;gt;&amp;gt; /etc/mkinitfs/mkinitfs.conf}}&lt;br /&gt;
&lt;br /&gt;
Add boot entry:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# efibootmgr --disk &amp;lt;dev&amp;gt; --part 1 --create --label &#039;Alpine Linux&#039; --load /Alpine/linux-lts.efi --verbose}}&lt;br /&gt;
&lt;br /&gt;
Note: This procedure only needs to be done once; after that the Unified Kernel Image will be generated automatically every time the kernel is upgraded.&lt;br /&gt;
&lt;br /&gt;
== Enrolling UEFI keys ==&lt;br /&gt;
&lt;br /&gt;
Copy all *.esl, *.auth files from {{path|/etc/uefi-keys}} to a FAT formatted file system (you can use EFI system partition).&lt;br /&gt;
&lt;br /&gt;
Launch firmware setup utility and enrol db, KEK and PK certificates (in this order!). Firmwares have various different interfaces; the following steps for ThinkPad T14s are just an example.&lt;br /&gt;
&lt;br /&gt;
# Reboot system and enter ThinkPad Setup (F1).&lt;br /&gt;
# Go to &#039;&#039;&#039;Security&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Secure Boot&#039;&#039;&#039;&lt;br /&gt;
# Change &#039;&#039;&#039;Secure Boot&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Reset to Setup Mode&#039;&#039;&#039;&lt;br /&gt;
# Go to &#039;&#039;&#039;Key Management&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Authorized Signature Database (DB)&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Enroll DB&#039;&#039;&#039; &amp;gt; select your Flash Drive &amp;gt; select &#039;&#039;&#039;db.auth&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Delete DB&#039;&#039;&#039; &amp;gt; delete Microsoft certificates (optional)&lt;br /&gt;
# &#039;&#039;&#039;Key Exchange Key (KEK)&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Enroll KEK&#039;&#039;&#039; &amp;gt; select your Flash Drive &amp;gt; select &#039;&#039;&#039;KEK.auth&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;Delete KEK&#039;&#039;&#039; &amp;gt; delete Microsoft certificates (optional)&lt;br /&gt;
# &#039;&#039;&#039;Platform Key (PK)&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Enroll PK&#039;&#039;&#039; &amp;gt; select your Flash Drive &amp;gt; select &#039;&#039;&#039;PK.auth&#039;&#039;&#039; (this MUST be the last!)&lt;br /&gt;
# Go to top, &#039;&#039;&#039;Restart&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Exit Saving Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some devices, such as HP Pavilion laptops, cannot enroll keys through the interface. Instead, you must follow the following steps (steps 1-5 and 9-12 may vary depending on the computer, they are for HP Pavilion laptops as an example):&lt;br /&gt;
# Reboot system and enter HP Bios Setup Utility (F10).&lt;br /&gt;
# Go to &#039;&#039;&#039;System Configuration&#039;&#039;&#039;&lt;br /&gt;
# Change &#039;&#039;&#039;Secure Boot&#039;&#039;&#039; to &#039;&#039;&#039;Disabled&#039;&#039;&#039;&lt;br /&gt;
# Select &#039;&#039;&#039;Clear All Secure Boot Keys&#039;&#039;&#039;&lt;br /&gt;
# Press F10 to save settings&lt;br /&gt;
# Reboot system and enter Alpine Linux&lt;br /&gt;
# Enable the [[Repositories|Community Repository]]&lt;br /&gt;
# Run the following commands: &lt;br /&gt;
{{cmd|# apk update&lt;br /&gt;
&amp;amp;#35; apk add sbctl&lt;br /&gt;
&amp;amp;#35; sbctl create-keys&lt;br /&gt;
&amp;amp;#35; sbctl sign /boot/efi/Alpine/linux-lts.efi&lt;br /&gt;
&amp;amp;#35; sbctl enroll-keys -m  }}&lt;br /&gt;
# &amp;lt;li value=&amp;quot;9&amp;quot;&amp;gt; Reboot system and enter HP Bios Setup Utility (F10).&lt;br /&gt;
# Go to &#039;&#039;&#039;System Configuration&#039;&#039;&#039;&lt;br /&gt;
# Change &#039;&#039;&#039;Secure Boot&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
# Press F10 to save settings&lt;br /&gt;
&lt;br /&gt;
Note: If you needed to use sbctl, you will have to run &amp;lt;code&amp;gt;sbctl sign /boot/efi/Alpine/linux-lts.efi&amp;lt;/code&amp;gt; every time you upgrade the kernel. You should &#039;&#039;&#039;not&#039;&#039;&#039; need to disable secure boot, so long as you sign the new Unified Kernel Image before you reboot.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/User:Sakaki/Sakaki%27s_EFI_Install_Guide/Configuring_Secure_Boot Sakaki&#039;s EFI Install Guide/Configuring Secure Boot - Gentoo Wiki]&lt;br /&gt;
* [https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot Unified Extensible Firmware Interface/Secure Boot - ArchWiki]&lt;br /&gt;
* [https://github.com/jirutka/efi-mkuki efi-mkuki: EFI Unified Kernel Image Maker] (used by the {{pkg|secureboot-hook}} package)&lt;br /&gt;
&lt;br /&gt;
[[Category:Booting]]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Repositories&amp;diff=23679</id>
		<title>Repositories</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Repositories&amp;diff=23679"/>
		<updated>2023-06-17T13:06:30Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Update section Managing repositories according to https://gitlab.alpinelinux.org/alpine/alpine-conf/-/merge_requests/155&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
There are three repositories:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;main&#039;&#039;&#039; packages are the software that have direct support and updates from the Alpine core and main team. They also have official special documentation, are always available for all releases and will have substitutions if some are not continued from upstream. Commonly these packages are selected due to their responsibility and stability with respect to upstream availability. Packages from &#039;&#039;community&#039;&#039; or (rarely) &#039;&#039;testing&#039;&#039;, that are accepted go to the &#039;&#039;main&#039;&#039; repository.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;community&#039;&#039;&#039; packages are those made by users in team with the official developers and close to the Alpine package process. They are supported by those user(s) contributions and could end if the user(s) stops; they may also be removed in a future release due to lack of support by upstream authors. Packages from &#039;&#039;testing&#039;&#039; that are accepted go to the &#039;&#039;community&#039;&#039; repository.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;testing&#039;&#039;&#039; packages are where new packages go. These are made by any contributor to Alpine. Testing has no release linked. The &#039;&#039;testing&#039;&#039; repository is only available on &#039;&#039;edge&#039;&#039;. Packages from &#039;&#039;testing&#039;&#039; that are accepted go to the &#039;&#039;community&#039;&#039; repository or (rarely) the &#039;&#039;main&#039;&#039; repository.&lt;br /&gt;
&lt;br /&gt;
= Managing repositories =&lt;br /&gt;
&lt;br /&gt;
The package repositories that &amp;lt;code&amp;gt;apk&amp;lt;/code&amp;gt; uses to retrieve package files for installation are specified in file {{path|/etc/apk/repositories}}. Each line of this file specifies the location of a package repository, and optionally a tag. Lines that start with a hash character (#) are ignored.&lt;br /&gt;
&lt;br /&gt;
The location may be an &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt; URL, or the path to a directory on the local filesystem. A [[Package_management#Repository_pinning|tagged]] repository is prefixed with the &amp;lt;code&amp;gt;@tag&amp;lt;/code&amp;gt; specifier, followed by a space and the repository location.&lt;br /&gt;
&lt;br /&gt;
The default will look something like:&lt;br /&gt;
&lt;br /&gt;
{{cat|/etc/apk/repositories|#/media/cdrom/apks&lt;br /&gt;
http://dl-cdn.alpinelinux.org/alpine/v3.16/main&lt;br /&gt;
http://dl-cdn.alpinelinux.org/alpine/v3.16/community}}&lt;br /&gt;
&lt;br /&gt;
After making changes to {{path|/etc/apk/repositories}} you should update the package index using:&lt;br /&gt;
{{cmd|# apk update}}&lt;br /&gt;
&lt;br /&gt;
=== Changing repositories to https ===&lt;br /&gt;
For better security you should probably change the url&#039;s from &#039;&#039;&#039;http&#039;&#039;&#039; to &#039;&#039;&#039;https&#039;&#039;&#039;. [https://en.wikipedia.org/wiki/HTTPS#Technical]&lt;br /&gt;
&lt;br /&gt;
{{Note|Some Alpine Linux package mirrors may not support &#039;&#039;&#039;https&#039;&#039;&#039;. If that is the case, you will need to change mirrors or revert back. You can check if your mirror supports &#039;&#039;&#039;https&#039;&#039;&#039; on https://mirrors.alpinelinux.org }}&lt;br /&gt;
&lt;br /&gt;
=== Avoid manually changing the repositories file for a new release ===&lt;br /&gt;
&lt;br /&gt;
You can avoid having to manually update the version in &amp;lt;code&amp;gt;/etc/apk/repositories&amp;lt;/code&amp;gt; for each Alpine Linux release by changing &amp;lt;code&amp;gt;v3.16&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;latest-stable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
{{cat|/etc/apk/repositories|#/media/cdrom/apks&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/latest-stable/main&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/latest-stable/community&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/main&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/community&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|Changing the repositories to &amp;lt;code&amp;gt;latest-stable&amp;lt;/code&amp;gt; may initiate unexpected release upgrades.}}&lt;br /&gt;
&lt;br /&gt;
= Release Branches =&lt;br /&gt;
&lt;br /&gt;
There are several release branches for Alpine Linux available at the same time. Each May and November we make a release branch from &#039;&#039;&#039;edge&#039;&#039;&#039;. The &#039;&#039;&#039;main&#039;&#039;&#039; repository is typically supported for 2 years and the &#039;&#039;&#039;community&#039;&#039;&#039; repository is supported until next stable release.&lt;br /&gt;
&lt;br /&gt;
Security fixes beyond that can be made on request when there are patches available.&lt;br /&gt;
&lt;br /&gt;
== Main ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;main&#039;&#039; has a support cycle of 2 years. We also try to limit the amount of packages in &#039;&#039;main&#039;&#039; to only include base system packages, in base you can think of packages which are needed by other packages or are needed to setup a basic system. Packages in &#039;&#039;main&#039;&#039; must &#039;&#039;&#039;not&#039;&#039;&#039; have dependencies in other repositories.&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;community&#039;&#039;&#039; repository was introduced with Alpine Linux version [https://alpinelinux.org/posts/Alpine-3.3.0-released.html 3.3.0].  &#039;&#039;community&#039;&#039; has a maximum support cycle of 6 months. After that you will need to update to the new release to continue to have support.&lt;br /&gt;
&lt;br /&gt;
= Edge =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;edge&#039;&#039; is the name given to the current [[Aports tree|development tree]] of Alpine Linux. It consists of an APK repository called &#039;&#039;edge&#039;&#039; and contains the latest build of all available Alpine Linux packages. Those packages are updated on a regular basis.&lt;br /&gt;
&lt;br /&gt;
{{Warning|&#039;&#039;edge&#039;&#039; is under constant development so be careful using it in production. It is possible that bugs in &#039;&#039;edge&#039;&#039; could cause data loss or could break your system.}}&lt;br /&gt;
&lt;br /&gt;
End users should not use &#039;&#039;edge&#039;&#039; as their main day-to-day workstation or as a productive system. Because &#039;&#039;edge&#039;&#039; is a development branch, many changes are not heavily tested (or tested at all) and packages in &#039;&#039;edge&#039;&#039; can and sometimes do break without warning.&lt;br /&gt;
&lt;br /&gt;
However, testing &#039;&#039;edge&#039;&#039; is a very valuable activity which helps the Alpine Linux development to ensure that the quality of the stable releases is high. Testing &#039;&#039;edge&#039;&#039; is a great way to contribute to the Alpine Linux development.&lt;br /&gt;
&lt;br /&gt;
== Upgrading to edge ==&lt;br /&gt;
&lt;br /&gt;
{{:Include:Upgrading to Edge}}&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;testing&#039;&#039;&#039; repository was introduced with Alpine Linux &#039;&#039;edge&#039;&#039; development. No support (staging only) and only built for &#039;&#039;edge&#039;&#039;. If it stays here long enough it gets moved to unmaintained/purged (gets cleaned up every 6 months).&lt;br /&gt;
&lt;br /&gt;
Before a package can move from &#039;&#039;testing&#039;&#039; to &#039;&#039;main&#039;&#039; or &#039;&#039;community&#039;&#039;, the following requirements must be met:&lt;br /&gt;
&lt;br /&gt;
# Package must work correctly, including the init.d script (if provided) and default configuration.&lt;br /&gt;
# Packaging must be done correctly, with files installed in the right places, e.g. configs are in &amp;lt;code&amp;gt;/etc/&amp;lt;/code&amp;gt; and not in &amp;lt;code&amp;gt;/usr/etc&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Package dependencies are handled correctly. Abuild can (and should) autodetect shared libs, for example &#039;&#039;&#039;sqlite-libs&#039;&#039;&#039; provides &#039;&#039;&#039;so:libsqlite3.so.0&#039;&#039;&#039;. Any package linked to &#039;&#039;&#039;sqlite&#039;&#039;&#039; should have an automatically (by abuild) added &amp;lt;code&amp;gt;depend=so:libsqlite3.so.0&amp;lt;/code&amp;gt; and the user should not have to manually add a &amp;lt;code&amp;gt;depend=&amp;quot;sqlite-libs&amp;quot;&amp;lt;/code&amp;gt; in the APKBUILD.&lt;br /&gt;
# There is a maintainer who claims responsibility for the maintenance of the package and can help fix things if they break in the future.&lt;br /&gt;
&lt;br /&gt;
=== Using the testing repository on stable branches ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|&#039;&#039;&#039;Only do this if you&#039;re 100% sure what you&#039;re doing!&#039;&#039;&#039; Installing packages from edge that link to something in &#039;&#039;main&#039;&#039; or &#039;&#039;community&#039;&#039; usually will not work. Alpine does not officially support mixing branches this way.}}&lt;br /&gt;
&lt;br /&gt;
Edit the file &amp;lt;code&amp;gt;/etc/apk/repositories&amp;lt;/code&amp;gt; and add (or uncomment) a line that points to the &amp;quot;testing&amp;quot; directory, while also [[Package_management#Repository_pinning|tagging]] the repository, for example:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/apk/repositories|&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/v3.16/main&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/v3.16/community&lt;br /&gt;
@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In that case, the tag is &amp;lt;code&amp;gt;@testing&amp;lt;/code&amp;gt;, which allows you to pull packages from that repository without potentially messing up your install (too badly):&lt;br /&gt;
&lt;br /&gt;
 $ apk add wireguard-go@testing&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Linux in a chroot]]&lt;br /&gt;
* [http://bugs.alpinelinux.org/ Report Bugs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Package Manager]]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Repositories&amp;diff=23678</id>
		<title>Repositories</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Repositories&amp;diff=23678"/>
		<updated>2023-06-17T12:44:22Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Community repository is enabled by default now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
&lt;br /&gt;
There are three repositories:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;main&#039;&#039;&#039; packages are the software that have direct support and updates from the Alpine core and main team. They also have official special documentation, are always available for all releases and will have substitutions if some are not continued from upstream. Commonly these packages are selected due to their responsibility and stability with respect to upstream availability. Packages from &#039;&#039;community&#039;&#039; or (rarely) &#039;&#039;testing&#039;&#039;, that are accepted go to the &#039;&#039;main&#039;&#039; repository.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;community&#039;&#039;&#039; packages are those made by users in team with the official developers and close to the Alpine package process. They are supported by those user(s) contributions and could end if the user(s) stops; they may also be removed in a future release due to lack of support by upstream authors. Packages from &#039;&#039;testing&#039;&#039; that are accepted go to the &#039;&#039;community&#039;&#039; repository.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;testing&#039;&#039;&#039; packages are where new packages go. These are made by any contributor to Alpine. Testing has no release linked. The &#039;&#039;testing&#039;&#039; repository is only available on &#039;&#039;edge&#039;&#039;. Packages from &#039;&#039;testing&#039;&#039; that are accepted go to the &#039;&#039;community&#039;&#039; repository or (rarely) the &#039;&#039;main&#039;&#039; repository.&lt;br /&gt;
&lt;br /&gt;
= Managing repositories =&lt;br /&gt;
&lt;br /&gt;
To enable a repository, remove the &#039;&#039;&#039;#&#039;&#039;&#039; in front of the URL along with any blank space.&lt;br /&gt;
&lt;br /&gt;
Example: Disabled&lt;br /&gt;
{{cat|/etc/apk/repositories|#http://dl-cdn.alpinelinux.org/alpine/v3.16/community}}&lt;br /&gt;
&lt;br /&gt;
Example: Enabled&lt;br /&gt;
{{cat|/etc/apk/repositories|http://dl-cdn.alpinelinux.org/alpine/v3.16/community}}&lt;br /&gt;
&lt;br /&gt;
To edit the repositories, open the &amp;lt;code&amp;gt;/etc/apk/repositories&amp;lt;/code&amp;gt; file in a text editor:&lt;br /&gt;
&lt;br /&gt;
{{cmd|# &amp;lt;editor&amp;gt; /etc/apk/repositories}}&lt;br /&gt;
&lt;br /&gt;
The default will look something like:&lt;br /&gt;
&lt;br /&gt;
{{cat|/etc/apk/repositories|#/media/cdrom/apks&lt;br /&gt;
http://dl-cdn.alpinelinux.org/alpine/v3.16/main&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/v3.16/community&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/main&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/community&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}}&lt;br /&gt;
&lt;br /&gt;
After making changes to &amp;lt;code&amp;gt;/etc/apk/repositories&amp;lt;/code&amp;gt; you should update the package index using:&lt;br /&gt;
{{cmd|# apk update}}&lt;br /&gt;
&lt;br /&gt;
=== Changing repositories to https ===&lt;br /&gt;
For better security you should probably change the url&#039;s from &#039;&#039;&#039;http&#039;&#039;&#039; to &#039;&#039;&#039;https&#039;&#039;&#039;. [https://en.wikipedia.org/wiki/HTTPS#Technical]&lt;br /&gt;
&lt;br /&gt;
{{Note|Some Alpine Linux package mirrors may not support &#039;&#039;&#039;https&#039;&#039;&#039;. If that is the case, you will need to change mirrors or revert back. You can check if your mirror supports &#039;&#039;&#039;https&#039;&#039;&#039; on https://mirrors.alpinelinux.org }}&lt;br /&gt;
&lt;br /&gt;
=== Avoid manually changing the repositories file for a new release ===&lt;br /&gt;
&lt;br /&gt;
You can avoid having to manually update the version in &amp;lt;code&amp;gt;/etc/apk/repositories&amp;lt;/code&amp;gt; for each Alpine Linux release by changing &amp;lt;code&amp;gt;v3.16&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;latest-stable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
{{cat|/etc/apk/repositories|#/media/cdrom/apks&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/latest-stable/main&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/latest-stable/community&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/main&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/community&lt;br /&gt;
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|Changing the repositories to &amp;lt;code&amp;gt;latest-stable&amp;lt;/code&amp;gt; may initiate unexpected release upgrades.}}&lt;br /&gt;
&lt;br /&gt;
= Release Branches =&lt;br /&gt;
&lt;br /&gt;
There are several release branches for Alpine Linux available at the same time. Each May and November we make a release branch from &#039;&#039;&#039;edge&#039;&#039;&#039;. The &#039;&#039;&#039;main&#039;&#039;&#039; repository is typically supported for 2 years and the &#039;&#039;&#039;community&#039;&#039;&#039; repository is supported until next stable release.&lt;br /&gt;
&lt;br /&gt;
Security fixes beyond that can be made on request when there are patches available.&lt;br /&gt;
&lt;br /&gt;
== Main ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;main&#039;&#039; has a support cycle of 2 years. We also try to limit the amount of packages in &#039;&#039;main&#039;&#039; to only include base system packages, in base you can think of packages which are needed by other packages or are needed to setup a basic system. Packages in &#039;&#039;main&#039;&#039; must &#039;&#039;&#039;not&#039;&#039;&#039; have dependencies in other repositories.&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;community&#039;&#039;&#039; repository was introduced with Alpine Linux version [https://alpinelinux.org/posts/Alpine-3.3.0-released.html 3.3.0].  &#039;&#039;community&#039;&#039; has a maximum support cycle of 6 months. After that you will need to update to the new release to continue to have support.&lt;br /&gt;
&lt;br /&gt;
= Edge =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;edge&#039;&#039; is the name given to the current [[Aports tree|development tree]] of Alpine Linux. It consists of an APK repository called &#039;&#039;edge&#039;&#039; and contains the latest build of all available Alpine Linux packages. Those packages are updated on a regular basis.&lt;br /&gt;
&lt;br /&gt;
{{Warning|&#039;&#039;edge&#039;&#039; is under constant development so be careful using it in production. It is possible that bugs in &#039;&#039;edge&#039;&#039; could cause data loss or could break your system.}}&lt;br /&gt;
&lt;br /&gt;
End users should not use &#039;&#039;edge&#039;&#039; as their main day-to-day workstation or as a productive system. Because &#039;&#039;edge&#039;&#039; is a development branch, many changes are not heavily tested (or tested at all) and packages in &#039;&#039;edge&#039;&#039; can and sometimes do break without warning.&lt;br /&gt;
&lt;br /&gt;
However, testing &#039;&#039;edge&#039;&#039; is a very valuable activity which helps the Alpine Linux development to ensure that the quality of the stable releases is high. Testing &#039;&#039;edge&#039;&#039; is a great way to contribute to the Alpine Linux development.&lt;br /&gt;
&lt;br /&gt;
== Upgrading to edge ==&lt;br /&gt;
&lt;br /&gt;
{{:Include:Upgrading to Edge}}&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;testing&#039;&#039;&#039; repository was introduced with Alpine Linux &#039;&#039;edge&#039;&#039; development. No support (staging only) and only built for &#039;&#039;edge&#039;&#039;. If it stays here long enough it gets moved to unmaintained/purged (gets cleaned up every 6 months).&lt;br /&gt;
&lt;br /&gt;
Before a package can move from &#039;&#039;testing&#039;&#039; to &#039;&#039;main&#039;&#039; or &#039;&#039;community&#039;&#039;, the following requirements must be met:&lt;br /&gt;
&lt;br /&gt;
# Package must work correctly, including the init.d script (if provided) and default configuration.&lt;br /&gt;
# Packaging must be done correctly, with files installed in the right places, e.g. configs are in &amp;lt;code&amp;gt;/etc/&amp;lt;/code&amp;gt; and not in &amp;lt;code&amp;gt;/usr/etc&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Package dependencies are handled correctly. Abuild can (and should) autodetect shared libs, for example &#039;&#039;&#039;sqlite-libs&#039;&#039;&#039; provides &#039;&#039;&#039;so:libsqlite3.so.0&#039;&#039;&#039;. Any package linked to &#039;&#039;&#039;sqlite&#039;&#039;&#039; should have an automatically (by abuild) added &amp;lt;code&amp;gt;depend=so:libsqlite3.so.0&amp;lt;/code&amp;gt; and the user should not have to manually add a &amp;lt;code&amp;gt;depend=&amp;quot;sqlite-libs&amp;quot;&amp;lt;/code&amp;gt; in the APKBUILD.&lt;br /&gt;
# There is a maintainer who claims responsibility for the maintenance of the package and can help fix things if they break in the future.&lt;br /&gt;
&lt;br /&gt;
=== Using the testing repository on stable branches ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|&#039;&#039;&#039;Only do this if you&#039;re 100% sure what you&#039;re doing!&#039;&#039;&#039; Installing packages from edge that link to something in &#039;&#039;main&#039;&#039; or &#039;&#039;community&#039;&#039; usually will not work. Alpine does not officially support mixing branches this way.}}&lt;br /&gt;
&lt;br /&gt;
Edit the file &amp;lt;code&amp;gt;/etc/apk/repositories&amp;lt;/code&amp;gt; and add (or uncomment) a line that points to the &amp;quot;testing&amp;quot; directory, while also [[Package_management#Repository_pinning|tagging]] the repository, for example:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/apk/repositories|&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/v3.16/main&lt;br /&gt;
https://dl-cdn.alpinelinux.org/alpine/v3.16/community&lt;br /&gt;
@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In that case, the tag is &amp;lt;code&amp;gt;@testing&amp;lt;/code&amp;gt;, which allows you to pull packages from that repository without potentially messing up your install (too badly):&lt;br /&gt;
&lt;br /&gt;
 $ apk add wireguard-go@testing&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Linux in a chroot]]&lt;br /&gt;
* [http://bugs.alpinelinux.org/ Report Bugs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Package Manager]]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23391</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23391"/>
		<updated>2023-05-09T14:43:43Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Don&amp;#039;t promise akms signing for v3.18, just in case&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: {{pkg|akms}} (Alpine Kernel Module Support) doesn&#039;t support modules signing yet, it will be implemented later.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. [https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300 release notes]&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated from 4.2 to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
On related news, to make use of GNOME Software, it is necessary to enable the &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; openrc service. More info in the [https://wiki.alpinelinux.org/wiki/Gnome#Enabling_GNOME_Software wiki]&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== QEMU 8 ===&lt;br /&gt;
&lt;br /&gt;
QEMU was updated from 7.1 to 8.0. [https://www.qemu.org/2023/04/20/qemu-8-0-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23388</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23388"/>
		<updated>2023-05-09T11:58:06Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add note about akms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: {{pkg|akms}} (Alpine Kernel Module Support) doesn&#039;t support modules signing yet, it will be implemented later and backported to v3.18.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. [https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300 release notes]&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated from 4.2 to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== QEMU 8 ===&lt;br /&gt;
&lt;br /&gt;
QEMU was updated from 7.1 to 8.0. [https://www.qemu.org/2023/04/20/qemu-8-0-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23387</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23387"/>
		<updated>2023-05-09T11:07:34Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add QEMU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. [https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300 release notes]&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated from 4.2 to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== QEMU 8 ===&lt;br /&gt;
&lt;br /&gt;
QEMU was updated from 7.1 to 8.0. [https://www.qemu.org/2023/04/20/qemu-8-0-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23386</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23386"/>
		<updated>2023-05-09T11:05:59Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add old version to R&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. [https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300 release notes]&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated from 4.2 to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23385</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23385"/>
		<updated>2023-05-09T11:05:34Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. [https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300 release notes]&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23384</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23384"/>
		<updated>2023-05-09T11:04:03Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add old version to python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23383</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23383"/>
		<updated>2023-05-09T11:03:38Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add old version to ruby&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated from 3.1 to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23382</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23382"/>
		<updated>2023-05-09T11:03:19Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add old version to rust&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated from 1.64 to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23381</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23381"/>
		<updated>2023-05-09T10:55:51Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add Sway&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Sway 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23380</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23380"/>
		<updated>2023-05-09T10:54:48Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add crystal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== Crystal 1.8 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|crystal}} was updated from 1.6 to 1.8. [https://crystal-lang.org/2023/01/09/1.7.0-released/ release notes for 1.7], [https://crystal-lang.org/2023/04/14/1.8.0-released/ release notes for 1.8]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23379</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23379"/>
		<updated>2023-05-09T10:44:35Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Split to categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===&lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
== Compilers and Runtimes ==&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== Lua ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
==== splitting of python pycache .pyc files ====&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== Removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23378</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23378"/>
		<updated>2023-05-09T10:33:11Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Improve formatting and grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|linux-lts}} was updated from 5.15 to 6.1. [https://lkml.org/lkml/2022/12/11/206 release notes]&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===  &lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|gnome}} metapackage was reworked and the packages {{pkg|gnome-apps-extra}} and {{pkg|gnome-games-collection}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt; before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|plasma}} was updated from 5.26.5 to 5.27.4. This includes some new packages like {{pkg|plasma-welcome}} (a welcoming application that shows up on the first boot to configure some initial settings) and {{pkg|flatpak-kcm}} (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages {{pkg|openrc-settingsd}} and {{pkg|apk-polkit-rs}}. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have {{pkg|pipewire-media-session}} in &amp;lt;code&amp;gt;/etc/apk/world&amp;lt;/code&amp;gt;, and configure any scripts you might&#039;ve had to launch &amp;lt;code&amp;gt;wireplumber&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== splitting of python pycache .pyc files ===&lt;br /&gt;
&lt;br /&gt;
Most python modules split their &amp;lt;code&amp;gt;__pycache__&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;-pyc&amp;lt;/code&amp;gt; subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|ruby}} was updated to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
A few gdk-pixbuf loaders were added, and they were all added to an &amp;lt;code&amp;gt;install_if&amp;lt;/code&amp;gt; metapackage rule. Run &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for the corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|docker}} package shipped with Alpine 3.18 has a dependency on {{pkg|docker-cli-buildx}}, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of &amp;lt;code&amp;gt;mke2fs&amp;lt;/code&amp;gt; so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, whilst the &amp;lt;code&amp;gt;metadata_csum_seed&amp;lt;/code&amp;gt; feature is known about by older versions of e2fsck the &amp;lt;code&amp;gt;orphan_file&amp;lt;/code&amp;gt; feature was both added to e2fsprogs 1.47.0 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|rust}} was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]&lt;br /&gt;
&lt;br /&gt;
=== LuaRocks 3 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|luarocks}}, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23377</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23377"/>
		<updated>2023-05-09T10:15:22Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add LuaRocks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
linux-lts 6.1 https://lkml.org/lkml/2022/12/11/206&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP.&lt;br /&gt;
&lt;br /&gt;
https://www.openwall.com/lists/musl/2023/05/02/1&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===  &lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
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 upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
From 5.26.5 before. This includes some new packages like plasma-welcome (a welcoming application that shows up on first boot to configure some initial settings) and flatpak-kcm (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
This Plasma release is the last one that will be build on Qt5 and will probably remain in use for Alpine 3.19 as well.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-rs&amp;lt;/code&amp;gt;. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
pipewire-media-session was removed, as upstream explicitly recommends to not use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have pipewire-media-session in /etc/apk/world, and configure any scripts you might&#039;ve had to launch wireplumber instead.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
python 3.11 https://docs.python.org/3/whatsnew/3.11.html&lt;br /&gt;
&lt;br /&gt;
=== splitting of python pycache .pyc files ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
Added 8.2 packages with subset of the most common extensions. Version 8.1 still remains primary provider priority but some web applications started to use 8.2.&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Ruby was updated to 3.2. https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
a few gdk-pixbuf loaders were added, and they were all added to an install_if metapackage rule- &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 has a dependency on &amp;lt;code&amp;gt;docker-cli-buildx&amp;lt;/code&amp;gt;, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to https://docs.docker.com/engine/release-notes/23.0/&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;e2fsprogs&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 changed the behaviour of mke2fs so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
nginx was updated to the new stable branch 1.24.x. https://nginx.org/en/CHANGES-1.24&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
rust was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
R was updated to 4.3. https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
LLVM 16 was added. https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html&lt;br /&gt;
&lt;br /&gt;
=== LuaRocks 3 ===&lt;br /&gt;
&lt;br /&gt;
LuaRocks, the package manager for Lua, was updated from 2.x to 3x. https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-300&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23376</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23376"/>
		<updated>2023-05-09T10:11:02Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add LLVM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
linux-lts 6.1 https://lkml.org/lkml/2022/12/11/206&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP.&lt;br /&gt;
&lt;br /&gt;
https://www.openwall.com/lists/musl/2023/05/02/1&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===  &lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
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 upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
From 5.26.5 before. This includes some new packages like plasma-welcome (a welcoming application that shows up on first boot to configure some initial settings) and flatpak-kcm (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
This Plasma release is the last one that will be build on Qt5 and will probably remain in use for Alpine 3.19 as well.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-rs&amp;lt;/code&amp;gt;. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
pipewire-media-session was removed, as upstream explicitly recommends to not use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have pipewire-media-session in /etc/apk/world, and configure any scripts you might&#039;ve had to launch wireplumber instead.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
python 3.11 https://docs.python.org/3/whatsnew/3.11.html&lt;br /&gt;
&lt;br /&gt;
=== splitting of python pycache .pyc files ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
Added 8.2 packages with subset of the most common extensions. Version 8.1 still remains primary provider priority but some web applications started to use 8.2.&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Ruby was updated to 3.2. https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
a few gdk-pixbuf loaders were added, and they were all added to an install_if metapackage rule- &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 has a dependency on &amp;lt;code&amp;gt;docker-cli-buildx&amp;lt;/code&amp;gt;, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to https://docs.docker.com/engine/release-notes/23.0/&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;e2fsprogs&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 changed the behaviour of mke2fs so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
nginx was updated to the new stable branch 1.24.x. https://nginx.org/en/CHANGES-1.24&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
rust was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
R was updated to 4.3. https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/&lt;br /&gt;
&lt;br /&gt;
=== LLVM 16 ===&lt;br /&gt;
&lt;br /&gt;
LLVM 16 was added. https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23375</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23375"/>
		<updated>2023-05-09T10:08:54Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add R&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
linux-lts 6.1 https://lkml.org/lkml/2022/12/11/206&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP.&lt;br /&gt;
&lt;br /&gt;
https://www.openwall.com/lists/musl/2023/05/02/1&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===  &lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
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 upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
From 5.26.5 before. This includes some new packages like plasma-welcome (a welcoming application that shows up on first boot to configure some initial settings) and flatpak-kcm (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
This Plasma release is the last one that will be build on Qt5 and will probably remain in use for Alpine 3.19 as well.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-rs&amp;lt;/code&amp;gt;. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
pipewire-media-session was removed, as upstream explicitly recommends to not use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have pipewire-media-session in /etc/apk/world, and configure any scripts you might&#039;ve had to launch wireplumber instead.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
python 3.11 https://docs.python.org/3/whatsnew/3.11.html&lt;br /&gt;
&lt;br /&gt;
=== splitting of python pycache .pyc files ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
Added 8.2 packages with subset of the most common extensions. Version 8.1 still remains primary provider priority but some web applications started to use 8.2.&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Ruby was updated to 3.2. https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
a few gdk-pixbuf loaders were added, and they were all added to an install_if metapackage rule- &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 has a dependency on &amp;lt;code&amp;gt;docker-cli-buildx&amp;lt;/code&amp;gt;, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to https://docs.docker.com/engine/release-notes/23.0/&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;e2fsprogs&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 changed the behaviour of mke2fs so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
nginx was updated to the new stable branch 1.24.x. https://nginx.org/en/CHANGES-1.24&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
rust was updated to 1.69.&lt;br /&gt;
&lt;br /&gt;
=== R 4.3 ===&lt;br /&gt;
&lt;br /&gt;
R was updated to 4.3. https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23374</id>
		<title>Release Notes for Alpine 3.18.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.18.0&amp;diff=23374"/>
		<updated>2023-05-09T10:07:29Z</updated>

		<summary type="html">&lt;p&gt;Jirutka: Add rust&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Linux Kernel ===&lt;br /&gt;
&lt;br /&gt;
linux-lts 6.1 https://lkml.org/lkml/2022/12/11/206&lt;br /&gt;
&lt;br /&gt;
Kernel modules are now signed.&lt;br /&gt;
&lt;br /&gt;
=== musl 1.2.4 ===&lt;br /&gt;
&lt;br /&gt;
Support for DNS lookups over TCP.&lt;br /&gt;
&lt;br /&gt;
https://www.openwall.com/lists/musl/2023/05/02/1&lt;br /&gt;
&lt;br /&gt;
=== DT_RELR ===  &lt;br /&gt;
&lt;br /&gt;
on x86, x86_64, and ppc64le, &amp;lt;code&amp;gt;-Wl,-z,pack-relative-relocs&amp;lt;/code&amp;gt; is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
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 upstream&#039;s recommendations.&lt;br /&gt;
&lt;br /&gt;
=== Plasma 5.27.4 ===&lt;br /&gt;
&lt;br /&gt;
From 5.26.5 before. This includes some new packages like plasma-welcome (a welcoming application that shows up on first boot to configure some initial settings) and flatpak-kcm (a configuration page for the system settings to control Flatpak permissions, much like GNOME&#039;s Flatseal).&lt;br /&gt;
This Plasma release is the last one that will be build on Qt5 and will probably remain in use for Alpine 3.19 as well.&lt;br /&gt;
&lt;br /&gt;
=== dbus ===&lt;br /&gt;
&lt;br /&gt;
dbus-activation has been removed from packages &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-rs&amp;lt;/code&amp;gt;. To make use of their services, make sure to start and enable the &amp;lt;code&amp;gt;openrc-settingsd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apk-polkit-server&amp;lt;/code&amp;gt; services, respectively.&lt;br /&gt;
&lt;br /&gt;
=== removal of pipewire-media-session ===&lt;br /&gt;
&lt;br /&gt;
pipewire-media-session was removed, as upstream explicitly recommends to not use it, and it&#039;s completely superceded by wireplumber.&lt;br /&gt;
if you used it, make sure you don&#039;t have pipewire-media-session in /etc/apk/world, and configure any scripts you might&#039;ve had to launch wireplumber instead.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
python 3.11 https://docs.python.org/3/whatsnew/3.11.html&lt;br /&gt;
&lt;br /&gt;
=== splitting of python pycache .pyc files ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;apk add !python3-pyc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP 8.2 ===&lt;br /&gt;
&lt;br /&gt;
Added 8.2 packages with subset of the most common extensions. Version 8.1 still remains primary provider priority but some web applications started to use 8.2.&lt;br /&gt;
&lt;br /&gt;
=== Ruby 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Ruby was updated to 3.2. https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/&lt;br /&gt;
&lt;br /&gt;
=== gdk-pixbuf-loaders ===&lt;br /&gt;
&lt;br /&gt;
a few gdk-pixbuf loaders were added, and they were all added to an install_if metapackage rule- &amp;lt;code&amp;gt;apk add gdk-pixbuf-loaders&amp;lt;/code&amp;gt; to enable the loaders for corresponding image libraries you have installed.&lt;br /&gt;
&lt;br /&gt;
=== Docker 23 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 has a dependency on &amp;lt;code&amp;gt;docker-cli-buildx&amp;lt;/code&amp;gt;, as Docker 23 now uses it for builds.&lt;br /&gt;
&lt;br /&gt;
Also, Docker 23 no longer enables the &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, &amp;lt;code&amp;gt;dockerd&amp;lt;/code&amp;gt; will fail to start.  To fix this, either...&lt;br /&gt;
&lt;br /&gt;
* migrate to &amp;lt;code&amp;gt;overlay2&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/docker/daemon.json&amp;lt;/code&amp;gt;&lt;br /&gt;
* hardcode it to &amp;lt;code&amp;gt;overlay&amp;lt;/code&amp;gt; in the same file (instead of blank), though this will eventually break in a future upgrade&lt;br /&gt;
&lt;br /&gt;
For more detailed information about Docker 23, please refer to https://docs.docker.com/engine/release-notes/23.0/&lt;br /&gt;
&lt;br /&gt;
=== e2fsprogs 1.47.0 ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;e2fsprogs&amp;lt;/code&amp;gt; package shipped with Alpine 3.18 changed the behaviour of mke2fs so that newly created filesystems have two additional features enabled.&lt;br /&gt;
&lt;br /&gt;
From https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;and&#039;&#039;&#039; enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.&lt;br /&gt;
&lt;br /&gt;
=== nginx 1.24 ===&lt;br /&gt;
&lt;br /&gt;
nginx was updated to the new stable branch 1.24.x. https://nginx.org/en/CHANGES-1.24&lt;br /&gt;
&lt;br /&gt;
=== Rust 1.69 ===&lt;br /&gt;
&lt;br /&gt;
rust was updated to 1.69.&lt;/div&gt;</summary>
		<author><name>Jirutka</name></author>
	</entry>
</feed>