Release Notes for Alpine 3.18.0: Difference between revisions

From Alpine Linux
(Improve formatting and grammar)
m (→‎GNOME 44: Updated pkg template usage, use ic template, fix wikilink.)
 
(27 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Base System ==
=== Linux Kernel ===
=== Linux Kernel ===


Line 4: Line 6:


Kernel modules are now signed.
Kernel modules are now signed.
''Note: {{pkg|akms}} (Alpine Kernel Module Support) doesn't support modules signing yet, it will be implemented later.''


=== musl 1.2.4 ===
=== musl 1.2.4 ===
Line 9: Line 13:
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]
Support for DNS lookups over TCP. [https://www.openwall.com/lists/musl/2023/05/02/1 release notes]


=== DT_RELR ===
=== DT_RELR ===


on x86, x86_64, and ppc64le, <code>-Wl,-z,pack-relative-relocs</code> is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.   
on x86, x86_64, and ppc64le, <code>-Wl,-z,pack-relative-relocs</code> is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.   
Line 15: Line 19:
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.
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.


=== GNOME ===
=== OpenSSL 3.1 ===


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 <code>/etc/apk/world</code> before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools}} was added following the upstream's recommendations.
[https://www.openssl.org/news/openssl-3.1-notes.html release notes]


=== Plasma 5.27.4 ===
=== Experimental headless installer ===


{{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's Flatseal).
Support for head-less installs with [https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud tiny-cloud] was added. This is done via a volume with label <code>cidata</code>, similar to cloud-init's [https://cloudinit.readthedocs.io/en/latest/reference/datasources/nocloud.html NoCloud] provider. If this volume is found during boot, the network will be auto configured and provided, a default user named <code>alpine</code> will be created and ssh keys provided in meta-data will be added. This is experimental and may change without prior notice.
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.
 
=== e2fsprogs 1.47.0 ===
 
The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of <code>mke2fs</code> so that newly created filesystems have two additional features enabled.
 
From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:
 
<blockquote>The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.</blockquote>
 
However, whilst the <code>metadata_csum_seed</code> feature is known about by older versions of e2fsck the <code>orphan_file</code> feature was both added to e2fsprogs 1.47.0 '''and''' enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.
 
== Compilers and Runtimes ==


=== dbus ===
<!-- stuff in main -->
=== LLVM 16 ===


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 <code>openrc-settingsd</code> and <code>apk-polkit-server</code> services, respectively.
{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]


=== removal of pipewire-media-session ===
=== Lua ===


{{pkg|pipewire-media-session}} was removed, as upstream explicitly recommends not to use it, and it's completely superceded by wireplumber.
{{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]
if you used it, make sure you don't have {{pkg|pipewire-media-session}} in <code>/etc/apk/world</code>, and configure any scripts you might've had to launch <code>wireplumber</code> instead.


=== Python ===
=== Python ===


{{pkg|python3}} was updated to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]
{{pkg|python3}} was updated from 3.10 to 3.11. [https://docs.python.org/3/whatsnew/3.11.html release notes]


=== splitting of python pycache .pyc files ===
==== splitting of python pycache .pyc files ====


Most python modules split their <code>__pycache__</code> to a <code>-pyc</code> subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run <code>apk add !python3-pyc</code>
Most python modules split their <code>__pycache__</code> to a <code>-pyc</code> subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run <code>apk add !python3-pyc</code>
=== Ruby 3.2 ===
{{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]
<!-- community -->
=== Crystal 1.8 ===
{{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]
=== Go 1.20 ===
{{pkg|go}} [https://go.dev/blog/go1.20 release notes]


=== PHP 8.2 ===
=== PHP 8.2 ===
Line 45: Line 75:
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.
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.


=== Ruby 3.2 ===
=== R 4.3 ===
 
{{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]
 
=== Rust 1.69 ===
 
{{pkg|rust}} was updated from 1.64 to 1.69.


{{pkg|ruby}} was updated to 3.2. [https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ release notes]
== Desktop ==


=== gdk-pixbuf-loaders ===
=== gdk-pixbuf-loaders ===
Line 53: Line 89:
A few gdk-pixbuf loaders were added, and they were all added to an <code>install_if</code> metapackage rule. Run <code>apk add gdk-pixbuf-loaders</code> to enable the loaders for the corresponding image libraries you have installed.
A few gdk-pixbuf loaders were added, and they were all added to an <code>install_if</code> metapackage rule. Run <code>apk add gdk-pixbuf-loaders</code> to enable the loaders for the corresponding image libraries you have installed.


=== Docker 23 ===
=== GNOME 44 ===
 
[https://release.gnome.org/44/ release notes]


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.
The {{pkg|gnome|branch=v3.18|arch=}} metapackage was reworked and the packages {{pkg|gnome-apps-extra|branch=v3.17|arch=}} and {{pkg|gnome-games-collection|branch=v3.17|arch=}} were removed to avoid opinionated lists in metapackages. It is advised to remove those from {{path|/etc/apk/world}} before performing the upgrade. Additionally, the new subpackage {{pkg|gnome-dev-tools|branch=v3.18|arch=}} was added following the upstream's recommendations.


Also, Docker 23 no longer enables the <code>overlay</code> storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, <code>dockerd</code> will fail to start.  To fix this, either...
On related news, to make use of GNOME Software, it is necessary to enable the {{ic|apk-polkit-server}} openrc service. More info at: [[Gnome#Enabling GNOME Software]].


* migrate to <code>overlay2</code> in <code>/etc/docker/daemon.json</code>
=== Plasma 5.27  ===
* hardcode it to <code>overlay</code> in the same file (instead of blank), though this will eventually break in a future upgrade


For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].
{{pkg|plasma}} was updated from 5.26 to 5.27. 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's Flatseal).
This Plasma release is the last one that will be built on Qt5 and will probably remain in use for Alpine 3.19 as well.


=== e2fsprogs 1.47.0 ===
=== Sway 1.8 ===


The {{pkg|e2fsprogs}} package shipped with Alpine 3.18 changed the behaviour of <code>mke2fs</code> so that newly created filesystems have two additional features enabled.
{{pkg|sway}} was updated from 1.7 to 1.8. [https://github.com/swaywm/sway/releases/tag/1.8 release notes]


From [https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0 release notes]:
== Others ==


<blockquote>The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.</blockquote>
=== dbus ===


However, whilst the <code>metadata_csum_seed</code> feature is known about by older versions of e2fsck the <code>orphan_file</code> feature was both added to e2fsprogs 1.47.0 '''and''' enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.
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 <code>openrc-settingsd</code> and <code>apk-polkit-server</code> services, respectively.


=== nginx 1.24 ===
=== nginx 1.24 ===
Line 78: Line 116:
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]
{{pkg|nginx}} was updated to the new stable branch 1.24.x. [https://nginx.org/en/CHANGES-1.24 release notes]


=== Rust 1.69 ===
=== Removal of pipewire-media-session ===
 
{{pkg|pipewire-media-session|branch=v3.17|arch=}} was removed, as upstream explicitly recommends not to use it, and it's completely superseded by {{pkg|wireplumber|branch=v3.18|arch=}}.
If you used it, make sure you don't have pipewire-media-session in {{path|/etc/apk/world}}, and configure any scripts you might've had to launch {{ic|wireplumber}} instead.
 
=== QEMU 8 ===
 
QEMU was updated from 7.1 to 8.0. [https://www.qemu.org/2023/04/20/qemu-8-0-0/ release notes]
 
=== Docker 23 ===
 
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.
 
Also, Docker 23 no longer enables the <code>overlay</code> storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, <code>dockerd</code> will fail to start.  To fix this, either...
 
* migrate to <code>overlay2</code> in <code>/etc/docker/daemon.json</code>
* hardcode it to <code>overlay</code> in the same file (instead of blank), though this will eventually break in a future upgrade
 
For more detailed information about Docker 23, please refer to the [https://docs.docker.com/engine/release-notes/23.0/ release notes].
 
=== AWS CLI v2 ===
 
The {{pkg|aws-cli}} package has been upgraded from v1 to v2 which results in changed behaviour in how certain commands behave.


{{pkg|rust}} was updated to 1.69.
Please follow [https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html this guide] for migrating between versions.


=== R 4.3 ===
=== ppp 2.5.0 ===


{{pkg|R}} was updated to 4.3. [https://www.r-bloggers.com/2023/04/whats-new-in-r-4-3-0/ release notes]
pppd (<code>ppp-daemon</code>, <code>ppp-pppoe</code>, ..) was updated to 2.5. in 2.4.9, the <code>rp-pppoe.so</code> plugin was renamed to <code>pppoe.so</code> 


=== LLVM 16 ===
if you have <code>plugin rp-pppoe.so ...</code> configuration lines, you should update them accordingly.


{{pkg|llvm16}} was added. [https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html release notes]
=== 7-zip ===


=== LuaRocks 3 ===
<code>p7zip</code> was removed in favor of the linux port of 7-zip. they both provide the <code>7z</code> command, so nothing should be affected in usage.


{{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
[[Category:News]]

Latest revision as of 21:33, 12 January 2024

Base System

Linux Kernel

linux-lts was updated from 5.15 to 6.1. release notes

Kernel modules are now signed.

Note: akms (Alpine Kernel Module Support) doesn't support modules signing yet, it will be implemented later.

musl 1.2.4

Support for DNS lookups over TCP. release notes

DT_RELR

on x86, x86_64, and ppc64le, -Wl,-z,pack-relative-relocs is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.

however, these binaries are now not portable to other musl-based systems that have a musl older than 1.2.4, because older versions are incapable of loading these binaries.

OpenSSL 3.1

release notes

Experimental headless installer

Support for head-less installs with tiny-cloud was added. This is done via a volume with label cidata, similar to cloud-init's NoCloud provider. If this volume is found during boot, the network will be auto configured and provided, a default user named alpine will be created and ssh keys provided in meta-data will be added. This is experimental and may change without prior notice.

e2fsprogs 1.47.0

The e2fsprogs package shipped with Alpine 3.18 changed the behaviour of mke2fs so that newly created filesystems have two additional features enabled.

From release notes:

The mke2fs program (via the mke2fs.conf file) now enables the metadata_csum_seed and orphan_file features by default.

However, whilst the metadata_csum_seed feature is known about by older versions of e2fsck the orphan_file feature was both added to e2fsprogs 1.47.0 and enabled at the same time. Therefore older versions of e2fsck are unable to fsck a filesystem created by mke2fs 1.47.0.

Compilers and Runtimes

LLVM 16

llvm16 was added. release notes

Lua

luarocks, the package manager for Lua, was updated from 2.x to 3x. release notes

Python

python3 was updated from 3.10 to 3.11. release notes

splitting of python pycache .pyc files

Most python modules split their __pycache__ to a -pyc subpackage, pulled by default. To save space and not pull it (incurring python interpreter startup costs, as it generates it each run), run apk add !python3-pyc

Ruby 3.2

ruby was updated from 3.1 to 3.2. release notes


Crystal 1.8

crystal was updated from 1.6 to 1.8. release notes for 1.7, release notes for 1.8

Go 1.20

go release notes

PHP 8.2

Added 8.2 packages with a subset of the most common extensions. Version 8.1 still remains the primary provider priority, but some web applications started to use 8.2.

R 4.3

R was updated from 4.2 to 4.3. release notes

Rust 1.69

rust was updated from 1.64 to 1.69.

Desktop

gdk-pixbuf-loaders

A few gdk-pixbuf loaders were added, and they were all added to an install_if metapackage rule. Run apk add gdk-pixbuf-loaders to enable the loaders for the corresponding image libraries you have installed.

GNOME 44

release notes

The gnome metapackage was reworked and the packages gnome-apps-extra and gnome-games-collection were removed to avoid opinionated lists in metapackages. It is advised to remove those from /etc/apk/world before performing the upgrade. Additionally, the new subpackage gnome-dev-tools was added following the upstream's recommendations.

On related news, to make use of GNOME Software, it is necessary to enable the apk-polkit-server openrc service. More info at: Gnome#Enabling GNOME Software.

Plasma 5.27

plasma was updated from 5.26 to 5.27. This includes some new packages like plasma-welcome (a welcoming application that shows up on the first boot to configure some initial settings) and flatpak-kcm (a configuration page for the system settings to control Flatpak permissions, much like GNOME's Flatseal). This Plasma release is the last one that will be built on Qt5 and will probably remain in use for Alpine 3.19 as well.

Sway 1.8

sway was updated from 1.7 to 1.8. release notes

Others

dbus

dbus-activation has been removed from packages openrc-settingsd and apk-polkit-rs. To make use of their services, make sure to start and enable the openrc-settingsd and apk-polkit-server services, respectively.

nginx 1.24

nginx was updated to the new stable branch 1.24.x. release notes

Removal of pipewire-media-session

pipewire-media-session was removed, as upstream explicitly recommends not to use it, and it's completely superseded by wireplumber. If you used it, make sure you don't have pipewire-media-session in /etc/apk/world, and configure any scripts you might've had to launch wireplumber instead.

QEMU 8

QEMU was updated from 7.1 to 8.0. release notes

Docker 23

The docker package shipped with Alpine 3.18 has a dependency on docker-cli-buildx, as Docker 23 now uses it for builds.

Also, Docker 23 no longer enables the overlay storage driver, as it has been deprecated for a long time and is nearing removal. if your deployment is still configured to use it, dockerd will fail to start. To fix this, either...

  • migrate to overlay2 in /etc/docker/daemon.json
  • hardcode it to overlay in the same file (instead of blank), though this will eventually break in a future upgrade

For more detailed information about Docker 23, please refer to the release notes.

AWS CLI v2

The aws-cli package has been upgraded from v1 to v2 which results in changed behaviour in how certain commands behave.

Please follow this guide for migrating between versions.

ppp 2.5.0

pppd (ppp-daemon, ppp-pppoe, ..) was updated to 2.5. in 2.4.9, the rp-pppoe.so plugin was renamed to pppoe.so

if you have plugin rp-pppoe.so ... configuration lines, you should update them accordingly.

7-zip

p7zip was removed in favor of the linux port of 7-zip. they both provide the 7z command, so nothing should be affected in usage.