En ce mardi 3 novembre, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 45.
Fedora Linux est une distribution communautaire développée par le projet Fedora et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora Linux peut être vue comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.

Sommaire
- Expérience utilisateur
- Internationalisation
- Administration système
- Développement
- Projet Fedora
- La communauté francophone
- Comment se procurer Fedora Linux 45 ?
Expérience utilisateur
L'environnement de bureau GNOME est proposé dans sa version 51.
Comme souvent lors des précédentes versions, l'amélioration des performances et de l'affichage sont à l'honneur. La capture d'écran est notamment plus rapide en évitant des opérations redondantes ou de copie de l'image, Mutter a retravaillé son ordonnancement de l'affichage qui permet aux animations d'être fluides même en cas d'usage intensif de la machine. Les anciens pilotes propriétaires de Nvidia ne sont plus pris en charge : outre la simplification du code, cela rend le sous-système plus robuste et efficace pour les autres pilotes. Cela ne concerne que les pilotes propriétaires nommés version 470 et inférieurs, le pilote libre nouveau peut être utilisé à la place dans ce contexte. Enfin le curseur de souris peut être rendu au format vectoriel plutôt qu'une image bitmap pour s'assurer de la qualité du rendu.
De même, les préférences bénéficient de nombreux changements. GNOME peut enfin tirer parti d'un éventuel accéléromètre pour effectuer une rotation automatique de l'affichage. Il est possible de bloquer cette rotation dans un sens particulier. Dans la même veine, il est possible de désactiver automatiquement le touchpad de l'ordinateur quand une souris externe est connectée. Côté sécurité, l'antique protocole de sécurité Wi-fi WEP n'est plus pris en charge tandis que les connexions distantes permettent d'utiliser un socket serveur SSH. L'interface pour l'enregistrement des empreintes digitales a été revue.
Le magasin d'applications Logiciels démarre plus rapidement en exploitant le cache des usages précédents et avec un rendu des icônes amélioré pour rendre l'opération plus rapide. La liste des permissions requises par une application est maintenant entièrement visible avant d'installer la dite application. Enfin si vous souhaitez installer une application qui ne reçoit plus de mises à jour, une alerte vous préviendra avant d'effectuer l'opération.
Le navigateur de fichiers n'est pas en reste, de nombreuses opérations longues comme une copie, un rafraichissement important, une recherche, etc. ne bloquent plus l'interface. Le rendu des gros dossiers ou des dossiers distants est également plus rapide. Les notifications de l'application sont également groupées.
Tandis que le navigateur Web propose une génération automatique de mots de passe aléatoires, sécurisés et longs en reposant sur la bibliothèque pwquality pour s'assurer de la qualité du résultat. Le gestionnaire de mots de passe est également plus fiable. La barre d'adresse a été retravaillée pour que la suggestion des moteurs de recherche lors d'une saisie ne pollue pas trop la liste des possibilités.
L'application Cartes permet enfin de télécharger les cartes d'une région pour effectuer un rendu hors ligne plus tard. Il affiche également beaucoup plus de données temps réel concernant les transports publics comme les départs ou arrivés à venir ou s'il y a du retard sur un trajet donné.
Alors que l'application Calendrier se focalise sur l'amélioration de ses performances, en particulier pour la vue mensuelle avec un calendrier chargé. La synchronisation des calendriers consommera moins de données. L'intégration avec Cartes a été renforcée pour lancer ce dernier si un événement a une localisation précise. Enfin l'édition des événements a été revue qui bénéficie d'une plus grande section de notes et une meilleure prise en charge des liens des réunions sur Microsoft Teams.
Le visionneur d'images Loupe affiche beaucoup plus de métadonnées de l'image, pendant que le prévisualiseur de documents a été porté sur GTK4 et libadwaita pour s'intégrer au reste de l'environnement tels que le mode sombre ou la prise en charge des affichages à haute densité de pixels. Enfin le visualiseur de documents Papers peut insérer des signatures effectuées avec la souris ou le touchpad.
Passage de l'utilitaire GNOME Keyring à oo7 pour l'accès et la gestion des données privées, comme les mots de passe. Ce changement introduit par le projet GNOME permet d'améliorer la gestion des permissions avec des applications qui n'ont accès qu'à certaines informations qu'il contient, mais aussi des secrets FIDO2. Les données enregistrées par GNOME Keyring sont automatiquement migrées vers oo7 ce qui rend cette transition transparente pour l'utilisateur.
Les versions atomiques bénéficient de l'interface web d'Anaconda pour l'installation du système. Cette nouvelle interface a été proposée dans Fedora Linux 42 pour l'édition Workstation. Ce changement permet d'avoir une procédure plus uniforme et de simplifier la maintenance de fait.
Ces mêmes versions peuvent bénéficier de l'installation distante via HTTPS à titre expérimental. Cela est possible grâce à l'apport du point précédent. Pour des raisons de sécurité cela n'est pas actif par défaut, il suffit de renseigner parmi les arguments du noyau au démarrage de l'image Live les options inst.webui.remote.password=PIN où PIN est un code PIN à renseigner par la machine qui effectuera l'installation. Le fait de se passer des protocoles d'affichage distants tels que VNC ou RDP permet d'utiliser plus de périphériques différents pour procéder à l'installation avec une meilleure intégration en général dans le système. De plus, sur le système cible il y a besoin de moins de ressources pour cette opération ce qui est particulièrement avantageux pour installer des Fedora sur des cartes ARM64 peu puissantes. Le chiffrement permet d'éviter les fuites du mot de passe durant la procédure, le chiffrement reposant sur des certificats auto-signés générés à la volée.

En cas de certaines erreurs fatales du noyau, le QR code d'erreur généré redirige vers le site https://drm-panic.fedoraproject.org/ pour expliquer plus simplement l'erreur rencontrée. En effet les QR codes précédents introduits depuis Fedora Linux 42 ne sont pas facilement exploitables par l'utilisateur moyen. L'objectif est que cette information soit affichée de manière plus structurée et lisible pour l'utilisateur et faciliter la création d'un rapport de bogue s'il le souhaite. Pour des raisons de confidentialité, les informations sont traitées localement sur la machine de l'utilisateur avec une implémentation purement en JavaScript. Les données ne sont envoyées à un éventuel serveur que si un rapport de bogue est crée à partir de ces informations. Le projet Fedora espère que la simplification de cette étape permettra de recueillir plus de rapports de bogue et d'améliorer l'aide entre utilisateurs.
L'aide de LibreOffice repose maintenant sur des pages web ouvertes depuis un navigateur externe. C'est une option fournie par LibreOffice depuis quelques temps qui permet de s'affranchir de l'aide interne du logiciel. Ainsi ouvrir l'aide ouvrira le navigateur par défaut vers l'aide locale de LibreOffice. L'avantage pour Fedora Linux est de rendre les paquets de l'aide plus petits, mais aussi parce qu'ils ne dépendent plus du code même de LibreOffice, les paquets sont indépendants de l'architecture et n'ont pas besoin d'être dupliqués pour chaque plateforme ce qui fait gagner des ressources pour compiler et distribuer ces paquets en supprimant des redondances.
Les dictionnaires fournis par le projet LibreOffice peuvent être installés en lieu et place de ceux du projet hunspell dont ils dérivent. Le métapaquet libreoffice-dictionaries permet d'installer les différents sous paquets libreoffice-dict-<lang>. Bien que LibreOffice utilise hunspell, de nombreux ajouts sont disponibles dans la variante de LibreOffice dont quelques langues supplémentaires ou une meilleure prise en charge des variantes de l'anglais avec un dictionnaire dédié pour chacune d'entre elles. Il n'est pas possible d'installer les deux dictionnaires en parallèle pour une même langue.
Chaque édition atomique de Fedora Linux peut bénéficier de sa propre liste de Flatpak provenant de Flathub. Ce changement n'a pas encore un impact direct immédiat mais ouvre la porte à ce que chaque édition en fonction de ses besoins puisse arbitrer si un Flatpak provient par défaut de Fedora ou de Flathub. L'objectif est de trouver un équilibre pour avoir une logithèque Flatpak suffisamment fournie tout en utilisant les Flatpak de qualité voire officiels qui peuvent venir de Flathub ce qui est bénéfique pour l'utilisateur et le développeur de l'application. Le tout en permettant d'éviter les Flatpak de Flathub qui ne respectent pas les critères légaux du projet Fedora notamment vis à vis des brevets logiciels ou de licence par exemple.

Internationalisation
L'outil d'aide à la saisie IBus évolue à la version 1.5.35. Il prend en charge les états ISO des disposition clavier XKB tels qu'utilisés par les environnement KDE Plasma, Sway, Hyprland ou COSMIC. Cela permet par exemple pour une disposition lituanienne en tapant `a d'obtenir ā au lieu de `a. Par ailleurs il gère également le forward key events du protocole Wayland input-method version 2 pour rediriger les événements clavier de la pop-up IBus vers le moteur IBus.
Mise à jour de fontconfig à la version 2.18. Le cache des polices passe à la version 11 qui précise quelle version de fontconfig a généré le dit fichier ce qui permet plus facilement d'être réutilisé sans devoir les régénérer ce qui est particulièrement utile en cas d'usage partagé tels que des environnements à base de conteneurs ou d'applications dans des bacs à sable. Un nouvel outil fc-genconf fait son apparition pour générer une configuration basique.
Administration système
NetworkManager prend en charge les réseaux IPv6-mostly. Derrière cette terminologie surprenante se cache la RFC 8925 déjà implémentée dans d'autres systèmes d'exploitation concurrents dont l'objectif est d'assurer une transition douce vers un réseau uniquement IPv6. Un réseau IPv6-mostly permet de partager au sein d'un même réseau des machines IPv6 uniquement, IPv4 uniquement et ceux ayant une double pile tout en partageant le même segment.
Côté NetworkManager cela consiste dans la prise en charge de deux protocoles : DHCPv4 option 108 (RFC 8925) et 464XLAT (RFC 6877). Le premier permet à l'administrateur du réseau de forcer le passage à l'IPv6 uniquement pour un périphérique donné qui peut ainsi couper l'IPv4 automatiquement.
Le second comporte deux parties, une côté client nommée Customer-side translator (CLAT) qui permet de traduire un paquet IPv4 généré par une application du système en un paquet IPv6 avant de l'envoyer sur le réseau. Cela permet donc à une application non conçue pour l'IPv6 de malgré tout envoyer des données à un service en ligne qui ne prend en charge que l'IPv6.
Côté réseau, en dehors de ce que NetworkManager doit gérer, il peut y avoir ajout de Provider-side translator (PLAT) qui utilise NAT64 pour convertir le paquet IPv6 en paquet IPv4 avant de l'envoyer sur un autre réseau dont Internet. Ainsi la combinaison des deux parties permet également à une application utilisant IPv4 d'atteindre un service IPv4 sur Internet tout en ayant un principalement un réseau local IPv6. Ou à un système utilisant uniquement IPv6 de malgré tout communiquer avec des services IPv4 sur Internet.
Par défaut et pour des raisons de sécurité, l'API noyau ptrace n'autorisera plus certains accès à moins d'installer certains logiciels comme un débogueur qui peuvent en avoir besoin. En effet cet API permet à un processus d'inspecter et de contrôler un autre processus lancé par le même utilisateur ce qui permet notamment d'investiguer dans sa mémoire ou de changer son flux d'exécution. Cependant cette capacité est intéressante dans le cadre du développement en particulier pour certains outils comme les débogueurs.
Linux a introduit par le passé un module nommé yama pour trouver un compromis. Ainsi cette inspection n'est possible que depuis le processus qui en a lancé un autre, ce que fait notamment un débogueur. C'est la politique par défaut de Linux et largement suivie parmi les distributions. Fedora Linux a fait le choix, comme Debian, de désactiver ce module yama dans certains contextes pour autoriser cet usage dans d'autres contextes de développement en liant cette désactivation au paquet elfutils-libs entre autres. Et par le jeu des dépendances, il était en fait en permanence désactivé dans tous les systèmes Fedora Linux depuis lors.
L'objectif ici est donc de changer cela pour que le paquet yama-ptrace-enable, qui active ptrace, ne soit installé que si l'un des paquets suivant est installé : elfutils, systemtap, gdb (mais pas gdb-headless ou gdb-minimal), lldb, delve, strace, ltrace, etc. ce qui n'est pas le cas par défaut et doit améliorer la sécurité de beaucoup de systèmes Fedora Linux.
Les utilitaires chpasswd et newusers utilisent dorénavant PAM pour valider les droits et si les mots de passe sont conformes à la politique de sécurité du système. Ainsi ces outils peuvent tenir compte si un nouveau mot de passe réutilise un mot de passe précédent, ne pas autoriser un mot de passe trop faible selon des critères définis, de notifier dans les logs si les mots de passes ont été changés, etc. Cela est conforme au fonctionnement des autres utilitaires qui passent par PAM pour ces tâches ce qui uniformise leur comportement dans le système.
Les consoles virtuelles passent de fbcon à kmscon. Ainsi la gestion de ces consoles virtuelles passe du noyau Linux à l'espace utilisateur. Le premier n'est plus trop maintenu car reposant sur l'ancienne interface frame buffer plutôt que d'utiliser l'interface drm. De fait, comme les pilotes graphiques actuels reposent majoritairement sur l'interface drm, l'usage de fbcon nécessite une couche d'émulation nommé fbdev et l'usage des utilitaires bash et getty pour avoir un fonctionnement basique. Et encore, le scroll à la souris restait désactivé pour des raisons de sécurité du fait du manque de maintenance.
kmscon remplace cela en utilisant les couches modernes du noyau ce qui améliore la sécurité et la fiabilité en tournant en espace utilisateur. Ainsi en cas de crash, le service est redémarré plutôt que de planter entièrement la machine avec un kernel panic. Le tout en offrant plus de fonctionnalités, ainsi il propose le scroll de la souris évoqué précédemment, la prise en charge de xkbcommon pour mieux gérer les dispositions claviers et permettre d'en changer à la volée, un rendu des caractères avec une meilleure compatibilité avec Unicode, la possibilité d'avoir une accélération graphique reposant sur OpenGL. Le copier/coller à la souris tout comme la rotation de l'écran sont aussi disponibles.
En cas de problèmes sur une machine, un retour en arrière automatique vers fbcon est proposé ou reste possible manuellement. Mais à terme l'objectif est d'abandonner entièrement ce dernier. Pour ceux qui sont intéressés de configurer kmscon, il est possible d'éditer le fichier /etc/kmscon/kmscon.conf.
Déplacement des fichiers des dépôts de la distribution du répertoire /etc/yum.repo.d vers le répertoire /usr/share/dnf5/repos.d. Les clés GPG sont aussi redirigées vers le fichier /usr/share/pki/rpm-gpg. Cette opération a été rendue possible par la suppression complète de DNF4 dans la version précédente de Fedora Linux ce qui a simplifié les choses. L'objectif est de tirer partie de la séparation entre configuration système et utilisateur de plus en plus adoptée avec une configuration en lecture seule fournie par la distribution dans /usr quand les changements sont effectués sur /etc/ pour mieux distinguer ce qui est fourni par la distribution et ce qui est changé.
Ainsi l'utilisateur qui souhaite ajouter des dépôts à la main peut continuer à utiliser /etc/yum.repo.d et s'il veut changer les paramètres d'un dépôt existant il peut le faire dans le dossier /etc/dnf/repos.override.d/.
Anaconda prend en charge le gestionnaire de stockage Stratis. Pour rappel il permet de fusionner la couche bloc et le système de fichiers XFS pour fournir des fonctionnalités supplémentaires clé en main telles que les snapshots ou le chiffrement le tout via une interface en ligne de commande et une interface DBus spécifique. La nouveauté comprend l'installation via un fichier kickstart tout comme le partitionnement manuel.
Stratis était certes proposé depuis Fedora 28 mais l'absence de disponibilité à l'installation par défaut a réduit son adoption potentielle car il était nécessaire de l'installer après coup par des moyens détournés ou l'utiliser pour d'autres partitions que celle du système. L'objectif ici est d'y remédier pour attirer de nouveaux utilisateurs intéressés par la solution.
Le logiciel Ignition gère le format de configuration de l'outil Butane. Ignition est le logiciel qui permet de configurer l'espace disque et les utilisateurs lors du premier démarrage de CoreOS à partir d'une configuration. Cependant son fichier de configuration au format JSON est jugé difficile à manipuler par un humain. D'où la création de Butane qui permet d'avoir une configuration plus simple à écrire au format YAML qu'il peut transpiler par la suite pour fournir le résultat obtenu à Ignition.
Cependant cette approche en deux temps où il faut au préalable installer butane pour écrire la configuration en YAML puis le transpiler avant de l'envoyer à Ignition complexifie le système et ajoute des barrières d'entrée à l'usage de CoreOS.
Ignition a absorbé le code de Butane mais l'utilitaire Butane reste toujours disponible dans son paquet dédié. Ignition va tenter de parser d'abord au format YAML avant de tenter de le parser comme une configuration JSON si cela avait échoué. Les configurations source: local / --files-dir ne sont pas gérées au lancement de CoreOS car d'autres fichiers nécessitent d'être présents pour cela, cela nécessite de passer par l'utilitaire butane sur un autre système au préalable.

L'API noyau de cryptographie à destination de l'espace utilisateur est partiellement désactivée. Cette API est difficile à maintenir et pose de gros problèmes de sécurité. Le projet Linux lui même entame le processus de s'en passer à terme. Le projet Fedora décide de prendre les devants, ainsi dès la version 7.2 du noyau proposée par Fedora Linux 45, les algorithmes disponibles via cette API sont restreints par défaut mais cette restriction peut être levée en changeant la valeur du fichier /proc/sys/crypto/af_alg_restrict. Cette restriction n'arrivant normalement qu'à partir de la version Linux 7.3. Le projet Fedora souhaite mettre un terme entièrement à cette API pour Fedora Linux 46 quoi que décide le projet Linux d'ici là.
L'usage de cette API est officiellement faible, peu de paquets de Fedora Linux s'en servent encore dont certains qui ne sont plus trop maintenus comme iwd avantageusement remplacé par wpa_supplicant. L'objectif est d'avertir ici les potentiels utilisateurs de solutions maisons de s'y préparer et d'engager la transition pour les quelques paquets qui s'en servent encore avant une suppression définitive.
L'outil d'authentification authselect ne propose plus la prise en charge les profils NIS par défaut. Il n'est plus possible de choisir NIS pour nsswitch.conf avec la commande authselect select nis mais l'option reste disponible via un profile personnel ou des opérations manuelles. L'objectif est de réduire l'usage de cette technologie dépassée au sein de Fedora Linux pour s'affranchir de sa maintenance à terme.
Mise à disposition de l'outil encapsule pour exécuter des outils venant d'Internet dans un conteneur léger dédié. Cet outil en ligne de commande est conçu pour exécuter les scripts ou utilitaires usuellement téléchargés à coup de curl <url> | sh, npm install <paquet> et autres dans un environnement plus isolé du système pour limiter les risques de sécurité ou tout simplement de pollution du répertoire utilisateur. Il repose sur Podman pour concevoir le conteneur qui l'exécute et a une configuration simple pour désactiver le réseau ou les droits super utilisateurs par exemple. Il n'est pas impossible à terme qu'il devienne un wrapper à OpenShell dans le futur pour apporter une isolation plus forte encore pour des raisons de sécurité.
Ajout de grub-cc comme chargeur de démarrage minimal pour démarrer sur des machines en UEFI uniquement pour lancer des images noyau unifiés (UKI). C'est une alternative à GRUB lui même pour ce cas d'usage à destination des conteneurs comme ceux pour du Confidential Computing, d'où le nom, CoreOS ou les machines virtuelles. L'objectif est de réduire sa taille en ayant uniquement le strict nécessaire pour fonctionner dans ce contexte. Cela permet de réduire la surface d'attaque mais aussi le nombre de mises à jour potentielles, chacune nécessitant de le resigner sur la machine dans le cadre du Confidential Computing.
L'utilitaire des paquets rpm passe à la version 6.1. Pour les utilisateurs, il est possible d'effectuer des requêtes pour notamment connaître les paquets installés sur le système même si une transaction, comme l'installation d'un paquet, est en cours. Avant chaque transaction bloquait ce type de requêtes en lecture seule. La recherche des groupes et utilisateurs peut de nouveau passer par Name Service Switch ce qui est particulièrement utile en cas d'authentification centralisée comme dans les grandes entreprises. Le temps d'installation d'un paquet devrait être plus rapide. Les autres ajouts sont plutôt destinés aux créateurs de paquet comme les modificateurs de macros litéraux afin de ne pas interpréter les % d'une macro ou one shot pour résoudre une macro qu'une fois afin de réutiliser son résultat par la suite pour obtenir des gains de performances. La macro %define peut résoudre une macro immédiatement durant sa définition ou mettre la macro dans le contexte global indépendamment. La commande rpmbuild peut aller directement aux étapes %check avec l'argument --short-circuit pour gagner du temps durant le développement. Enfin le script d'environnement de construction est généré dans le fichier rpmbuild.env dans le répertoire %{builddir} afin de faciliter le débogage, son analyse ou pour reproduire les différentes étapes manuellement.
Ce dernier rend obligatoire par défaut la vérification des signatures des paquets avant leur installation. Si un paquet n'est pas signé ou que la signature n'est pas correcte, l'installation échouera. Ce mode était déjà présent depuis les débuts de Fedora dans YUM puis DNF, l'objectif est que l'outil sous-jacent RPM suive cette directive pour des raisons de sécurité qui sont plus prégnantes de nos jours qu'à l'époque. Il est possible de la désactiver avec l'option --nosignature.
Il a été nécessaire d'attendre depuis RPM 6.0, disponible depuis Fedora Linux 43, qui offrait déjà cette possibilité avec des aides pour générer des paquets auto signés par ailleurs car l'équipe manquait de ressources pour les adaptations nécessaires. Car en effet il n'était dès lors plus possible pour DNF d'installer des paquets non signés à la demande dans ce cas, et il fallait vérifier la construction des paquets pour adapter les procédures afin que cela soit possible sans encombre et sans multiplier les désactivations manuelles ci et là.
La bibliothèque de sécurité OpenSSL est mise à jour vers la version 4.0. Comme souvent la version majeure de cette bibliothèque de référence est l'occasion de casser la compatibilité ascendante. C'est pourquoi la version 3 reste disponible via le paquet openssl3 pour les logiciels et ceux qui en ont encore besoin.
Ainsi, il propose une meilleure confidentialité avec la prise en charge de Encrypted Client Hello (ECH) pour chiffrer l'initialisation des échanges TLS et cacher le Server Name Indication durant le processus. Il améliore également la prise en charge de la cryptographique dite post-quantique notamment avec l'implémentation de la RFC 8998. Côté suppression, beaucoup de code d'anciens algorithmes de chiffrement sont retirés après une longue période de désactivation comme SSLv3.
Les engines tirent également leur révérence en faveur des providers comme interface pour ajouter des algorithmes de chiffrement supplémentaires externes. Enfin, le protocole SSLv2 Client Hello est également supprimé.
Le gestionnaire de conteneurs podman est proposé dans sa 6e version. Cette version majeure nécessite aussi certaines adaptations avec la suppression de slirp4netns qui est remplacé par pasta pour la réalisation de réseau sans droits superutilisateurs. La prise en charge des cgroups version 1 est également supprimée tout comme la base de données BoltDB qui était déjà remplacée par défaut par SQLite depuis la version 4.8. Pour assurer une bonne migration des données, il est conseillé de mettre à jour vers podman 5.8 qui est disponible dans les autres versions de Fedora Linux avant.
Du côté des fonctionnalités, les fichiers de configurations ont été revus pour retirer la confusion entre les paramètres pour les clients distants et ceux des serveurs avec le partage d'une logique similaire entre les fichiers containers.conf et storage.conf. Pour le réseau, la création de réseau va utiliser Netavark qui perd par ailleurs la prise en charge d'iptables au profit de nftables. L'ordre des interfaces réseau est maintenant aussi préservé au sein des conteneurs.
La version par défaut du gestionnaire de base de données MySQL pointe vers la version 9.7 au lieu de la version 8.4. Cette version apporte notamment le nouveau type pour les colonnes : VECTOR qui est un ensemble de flottants 4 de octets. De par la nature de la colonne, elle ne peut pas être utilisée comme clé primaire de la table par exemple. Elle sert de base technique à la solution MySQL HeatWave qui sert dans un contexte d'IA pour notamment faire de la recherche au sein de documents. Certaines fonctions comme le calcul de distance entre deux vecteurs sont proposées à cette fin. De plus, l'optimiseur de requêtes Hypergraph fait son entrée pour proposer, en général, de meilleures performances. De même plusieurs modules de télémétries et de réplications pour effectuer de la haute disponibilité sont disponibles pour permettre notamment une meilleure compatibilité avec des solutions OpenTelemetry.
Pour des raisons de sécurité, le greffon mysql_native_password tire sa révérence pour l'authentification. Il est nécessaire de reconfigurer les authentifications pour employer caching_sha2_password à la place par exemple. La version 8.4 reste disponible avec le paquet mysql8.4 pour ceux qui en ont besoin.
De manière analogue, la version par défaut du gestionnaire de base de données MariaDB pointe vers la version 12.3 au lieu de la version 11.8. Cette version apporte de nombreuses fonctions pour améliorer la compatibilité avec la solution propriétaire Oracle dont la prise en charge native de SYS_REFCURSOR ou des triggers qui peuvent être exécutés individuellement sur plusieurs événements à la fois ce qui simplifie la maintenance par ailleurs. L'optimisateur de requêtes bénéficie aussi de nombreuses optimisations, et a ajouté la prise en charge de nombreuses indications d'optimisation proposées par MySQL pour améliorer la compatibilité entre les deux. Pour améliorer la compatibilité avec MySQL, il implémente aussi la fonction d'authentification caching_sha2_password évoquée plus haut.
Enfin les données géospatiales bénéficient d'une meilleure prise en charge avec des fonctions pour valider et vérifier la validité de ces données, pour simplifier les géométries complexes afin d'améliorer les performances ou encore les hasher pour effectuer des recherches de proximité performantes.
Les versions 10.11 et 11.8 restent disponibles via les paquets mariadb10.11 et mariadb11.8 pour ceux qui le souhaitent.
Développement
La chaine de compilation GNU progresse avec binutils 2.47 et glibc 2.44.
Les utilitaires binutils prennent en charge de nombreuses extensions du standard de l'architecture RISC-V. L'assembleur introduit une nouvelle commande --reloc-section-sym=[all|internal|none] pour spécifier si les relocalisations faisant référence à des symboles de liaison locale sont ajustés pour utiliser les sections des symboles. objdump et readelf peuvent préciser un répertoire où trouver des fichiers de débogage supplémentaires avec --debug-dir=[DIR]. Enfin l'éditeur de lien bfd peut fonctionner avec une optimisation faible avec l'argument -O 0 ce qui bloque la fusion du contenu des sections pour diminuer le temps de l'opération au détriment de la taille du binaire final.
La bibliothèque C glibc introduit le fichier /etc/tunables.conf pour stocker les réglages de manière plus permanente et simple que l'emploi de la variable d'environnement GLIBC_TUNABLES. La configuration consiste en un paramètre par ligne. De nombreuses optimisations et corrections des fonctions mathématiques ont également été importées du projet CORE-MATH.
La chaine de compilation LLVM version 23 est proposée. Cette version comme souvent apporte une prise en charge partielle de la prochaine norme C++2d et de la future norme C2Y tandis que les normes antérieures du C et C++ sont mieux gérées. Les diagnostiques pour ces langages bénéficient de nombreuses améliorations dont des alertes en lien avec la durée de vie des objets ou pointeurs manipulés par des fonctions. Il apporte notamment aux architectures ARM64 et x86_64 la fonction Lightweight Fault Isolation pour réaliser un bac à sable léger pour les applications C et C++ afin de réduire les risques de sécurité autour des problèmes mémoires de ces applications sans trop pénaliser les performances et sans demander beaucoup d'adaptations. Côté matériel il propose un début de la prise en charge du prochain processeur Nvidia nommé Rosa. Du côté d'AMD, c'est l'interface de programmation AMD HIP, proche de Nvidia CUDA pour l'exploitation des capacités de calcul sur GPU, qui utilise le nouveau pilote de LLVM pour s'y interfacer, rejoignant ainsi Nvidia CUDA et OpenMP qui en bénéficiaient déjà. Et comme la suite GNU évoquée plus haut, de nombreuses instructions RISC-V sont prises en charge par l'assembleur maison.

Le langage Python rampe vers la version 3.15. Cette version apporte l'import paresseux des modules avec le mot clé lazy pour ne charger un gros module que s'il est réellement utilisé afin d'améliorer les performances quand le module n'est pas utilisé finalement. Des dictionnaires immuables frozendict étendent la liste des objets de base immuables pour apporter plus de garanties dans le code notamment dans un contexte d'exécution parallèle. Les outils de profilage de code sont rassemblés au sein du module profiling qui bénéficie d'un nouveau profiler Tachyon. Celui-ci effectue des mesures à intervalles réguliers pour diminuer le coût de son usage tout en ne nécessitant pas de changement dans le code. Mais cela au détriment de l'exactitude du résultat. Enfin, le compilateur JIT expérimental bénéficie de nombreuses améliorations de performance.
La bibliothèque python-dateutil est marquée comme dépréciée en vue d'une suppression future. Cette extension de la fonction datetime de Python n'est plus maintenue ce qui peut poser à terme des problèmes de sécurité alors que de nombreux projets en dépendent encore. L'objectif est d'évaluer la situation et de commencer la transition où elle est possible avant d'entamer sans suppression quand la transition sera terminée ou sa maintenance impossible.
L'utilitaire Python setuptools est proposé avec la version 82. Cette version n'est pas compatible avec la précédente notamment à cause de la suppression de pkg_resources qui a été remplacé par importlib.resources et importlib.metadata depuis déjà cinq ans. Fedora propose le paquet python3-pkg-resources pour fournir cette fonction manquante à part le temps d'effectuer la transition, près de 150 paquets de Fedora Linux en ont typiquement encore besoin.
Le langage Go saute vers sa version 1.27. Cette version du langage propose les méthodes génériques qui étaient l'étape logique après l'introduction des fonctions génériques dans les versions précédentes. Le compilateur peut rediriger vers des allocateurs spécifiques les allocations de petites tailles afin d'améliorer jusqu'à 30% les performances dans ce contexte. Le détecteur de blocages dans les goroutines abandonne son statut expérimental pour être pleinement exploitable.
Les paquets pour la prise en charge du encoding/json/v2 et encoding/json/jsontext sont introduits dans la bibliothèque standard. Le premier, afin notamment d'être plus strict concernant la validité d'un fichier JSON tout en améliorant les performances lors du parsage. Le second pour permettre une manipulation bas niveau et syntaxique du format.
Un paquet uuid a été introduit pour générer ou lire facilement des identifiants uniques suivant différents formats. Enfin, le paquet expérimental simd est proposé pour effectuer des opérations parallèles variées de manière portable et indépendante de la taille des vecteurs afin d'améliorer les performances pour les opérations qui s'y prêtent.
Le langage Perl brille dans sa version 5.44. Cette version propose une prise en charge d'Unicode 17.0, dont les règles ont été renforcées sur les identifiants et les noms de groupe des expressions régulières. D'ailleurs, les expressions régulières bénéficient d'une fonctionnalité expérimentale use feature "enhanced_xx" pour autoriser les classes de caractères entre crochets sous le modificateur /xx sur plusieurs lignes tout en pouvant contenir des commentaires. Le générateur interne de nombre aléatoires exploite l'appel système getentropy(), utilisant le fichier /dev/urandom ou un état interne si cela n'est pas possible. Les performances ont également été améliorées pour les opérations de base sur les entiers tout comme la génération d'un hash d'une liste de paires de clé / valeur.
L'interpréteur Lua est mis à jour vers la version 5.5. Parmi les changements, il propose la déclaration de variables globales avec le mot clé global, les vararg tables peuvent être nommés, les tableaux sont plus compactes pouvant être jusqu'à 60% plus petits en mémoire et de meilleures performances pour le ramasse miettes. La variable utilisée pour itérer dans la boucle for est également en lecture seule maintenant.
La boîte à outils Ruby en Rails roule vers sa version 8.1. Il propose notamment la possibilité de reprendre des longues tâches en les découpant en étapes plus petites, permettant de reprendre à la dernière étape complètement effectuée plutôt que depuis le début si jamais la procédure a été interrompue. Une nouvelle interface Rails.event permet de structurer les événements pour être plus facilement analysés par des outils. Pour les développeurs il est possible de définir sa machine comme une instance pour lancer des tests d'intégration continue avec le binaire bin/ci. Enfin il permet de faire un rendu ou répondre à une requête directement depuis le format Markdown dans les différents contrôleurs.
Le générateur de protocoles protobuf passe à la version 6 et 5 pour respectivement le C++ et le C. Cette version introduit plus de modularité avec Bzlmod pour proposer un cœur plus réduit et plein de modules autour afin de simplifier la maintenance du projet. Cela peut simplifier l'import de modules externes par ailleurs. Ce changement pourrait simplifier la mise à niveau des adaptateurs pour les différents langages à l'avenir. Le paquet protobuf3 est toujours proposé à des fins de compatibilité, le format v3 du protocole ayant été supprimé dans ces nouvelles versions.
Le langage fonctionnel Erlang évolue vers la version 27. La syntaxe du langage autorise les commentaires multilignes et sans le besoin d'échappement grâce au délimiteur """ pour simplifier leur écriture. De manière analogue, il est possible de définir une chaine de caractères littérale sans caractères d'échappements avec le sigils ~B pour débuter la dite chaine de caractère qui est entre crochets. Le nouvel encodeur JSON est proposé afin d'améliorer les performances. Niveau performances, le client SSL peut aussi vérifier la signature du résultat de la réponse signée de l'OCSP d'un serveur pour vérifier si la clé a été révoquée ou non par le CA sans devoir effectuer des requêtes supplémentaires. Enfin à des fins de débogage ou de traçabilité il est possible de nommer les processus afin de savoir à quoi ils correspondent.
La bibliothèque d'analyse de données Pandas pousse à sa version 3. Cette version propose un nouveau type native pour les chaines de caractères plutôt que de reposer sur le type objet générique de Python qui n'est pas suffisamment spécifique ni performant pour cet usage. Le comportement du copy-on-write a changé, les opérateurs retournant un sous-ensemble ou une indexation d'une série de données fonctionnent comme une copie de l'objet original, nécessitant de manipuler directement l'objet original si on souhaite le modifier. Cela rend le comportement plus cohérent mais améliore aussi les performances. De nombreuses fonctions obsolètes ont été définitivement supprimées avec cette version, la rendant non rétrocompatible.
La bibliothèque xmlsec parse sa version 1.3. Cette version n'est pas non plus rétrocompatible avec la précédente. Elle propose un nouveau type KeyInfoReference pour permettre à plusieurs signatures de faire référence à la même chaine de validation au lieu d'avoir une copie entière pour chacune en mémoire. La recherche par clé est devenue plus stricte, uniquement les clés référencées dans KeyInfo sont considérées. La prise en charge du protocole FTP a été supprimée de même que la fonction de hashage md5 toutes deux pour des raisons de sécurité.
L'environnement de développement de Free Pascal nommé Lazarus dispose d'une interface graphique GTK3, Qt5 ou Qt6, en plus de GTK2 jusqu'alors proposée. Pour cela des sous-paquets ont été introduits tel que lazarus-ide-gtk3 qui ne sont pas installables en parallèle. Cela permet de proposer les différentes possibilités d'intégration de ce logiciel selon le goût de ses utilisateurs. Il permet aussi d'envisager le retrait à terme de la variante GTK2 quand cette bibliothèque obsolète sera entièrement retirée du système.
La configuration des pilotes ODBC, pour la création d'API pour les gestionnaires de base de données, a été scindée pour améliorer la modularité de ce fichier. Le fichier /etc/odbcinst.ini fait notamment le lien entre un module et la bibliothèque dans le système qui permettait de s'en servir et jusqu'ici tous les pilotes supportés étaient présents dans le fichier. Le fichier était proposé par le paquet unixODBC. Mais à cause du découplage entre le pilote et cette configuration, présent dans des projets et paquets différents, la configuration contenait souvent des informations fausses. Et ce n'était pas évident pour les empaqueteurs de ces bibliothèques de devoir intervenir sur ce fichier aussi s'ils changeaient quelque chose dans leur propre paquet. De plus, le fichier pouvait indiquer comment se servir d'un pilote qui n'est pas présent sur le système ce qui pouvait facilement mener à des erreurs. Maintenant les fichiers de configuration sont installés dans le dossier /usr/lib/odbc/odbcinst.d, avec un fichier par gestionnaire de base de données qui n'est installé que si le pilote correspondant est installé également. Chaque installation ou suppression permet de générer ainsi le fichier /etc/odbcinst.ini final avec les bonnes informations. Il est d'ailleurs possibles pour les administrateurs systèmes d'adapter la configuration en créant des fichiers analogues dans /etc/odbc/odbcinst.d/ qui auront la priorité.
Nodejs a maintenant un métapaquet nodejs non versionné. Ce paquet non versionné sert à installer l'une des versions de Nodejs disponible dans Fedora Linux pour un utilisateur qui n'accorde pas trop d'importance à la version exacte. La version réellement installée est choisie par les mainteneurs et peut changer au gré des versions de Fedora Linux. Installer le paquet versionné tel que nodejs22 apporte la garantie qu'une mise à niveau de Fedora Linux n'aboutira pas à un changement de version de nodejs, à moins que le paquet ne soit évidemment supprimé et dans ce cas la transition est laissée à la charge à l'utilisateur.

Projet Fedora
Les images atomiques à usage bureautique sont construites avec l'utilitaire image-builder. L'objectif est de se passer de lorax qui effectuait cette tâche jusqu'ici ce qui permettra à terme de s'en passer totalement pour simplifier l'infrastructure et les méthodes de production des différentes images. Ces images reposent en un fichier boot.iso au sein d'un commit ostree ce qui est très proche des images Fedora IoT qui utilisaient déjà image-builder, rendant l'opération possible.
Un autre bénéfice de cette migration est de permettre de générer des images au format qcow2 pour un usage pour machines virtuelles, ou une image raw pour l'architecture aarch64 afin de démarrer directement dessus avec l'outil arm-image-installer pour l'installer sur des petites cartes à architecture ARM.
Le paquet libgit2 bénéficiera de plusieurs paquets avec des versions distinctes pour pouvoir les installer en parallèle. Le paquet au nom générique disparaît pour faire place à libgit2_1.9. Ce composant utilisé par une trentaine de paquets n'a pas une ABI stable même pour des versions mineures. Cela peut rendre la gestion délicate au sein du projet Fedora pour ne pas avoir de conflits tout en ayant un résultat stable. En particulier par la présence de bibliothèques d'adaptation comme en Python qui évoluent à des rythmes différents langage par langage. Si pour l'instant une seule version de libgit2 est proposée, la voie est tracée pour en avoir plusieurs en parallèle.
Les variables non standards de CMake sont supprimées de la macro %cmake. Les variables *_INSTALL_DIR, SHARE_INSTALL_PREFIX et LIB_SUFFIX étaient passées par défaut par la macro %cmake alors que ces variables n'ont jamais été standards au sein de CMake. Chaque usage était donc spécifique à chaque logiciel avec parfois des confusions comme savoir si INCLUDE_INSTALL_DIR exigeait un chemin absolu ou relatif. Depuis CMake 3, les chemins d'installation standards sont définis dans GNUInstallDirs et son usage s'étend ce qui rend pertinent de pousser à migrer les paquets restants. Cela concernait tout de même environ 300 paquets sur les 2000 utilisant CMake.
Ajout de la macro %openpgpverify pour effectuer les vérifications de signatures d'artéfacts avec Sequoia en remplacement de %gpgverify qui utilise GnuGP. En effet depuis 2023, GnuGP suit un protocole incompatible avec OpenGPG nommé LibrePGP. L'objectif est d'utiliser une alternative compatible avec le standard OpenPGP ce qui est le cas de Sequoia déjà employé par RPM ou podman par ailleurs. Il permet également l'usage d'algorithmes post-quantique notamment par la prise en charge de la RFC 9980.
La communauté francophone
L'association

Borsalinux-fr est l'association qui gère la promotion de Fedora dans l'espace francophone. Nous constatons depuis quelques années une baisse progressive des membres à jour de cotisation et de volontaires pour prendre en main les activités dévolues à l'association.
Nous lançons donc un appel à nous rejoindre afin de nous aider.
L'association est en effet propriétaire du site officiel de la communauté francophone de Fedora, organise des évènements promotionnels comme les Rencontres Fedora régulièrement et participe à l'ensemble des évènements majeurs concernant le libre à travers la France principalement.
Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez :
- Adhérer à l'association : les cotisations nous aident à produire des goodies, à nous déplacer pour les évènements, à payer le matériel ;
- Participer sur le forum, les listes de diffusion, à la réfection de la documentation, représenter l'association sur différents évènements francophones ;
- Concevoir des goodies ;
- Organiser des évènements type Rencontres Fedora dans votre ville.
Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.
Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions mensuelles chaque premier lundi soir du mois à 20h30 (heure de Paris). Pour plus de convivialité, nous l'avons mis en place en visioconférence sur Jitsi.
La documentation
Depuis juin 2017, un grand travail de nettoyage a été entrepris sur la documentation francophone de Fedora, pour rattraper les cinq années de retard accumulées sur le sujet.
Le moins que l'on puisse dire, c'est que le travail abattu est important : près de 90 articles corrigés et remis au goût du jour.
Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, Sylvain Réault et les autres contributeurs et relecteurs pour leurs contributions.
La synchronisation du travail se passe sur le forum.
Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.
Comment se procurer Fedora Linux 45 ?

Si vous avez déjà Fedora Linux 44 ou 43 sur votre machine, vous pouvez faire une mise à niveau vers Fedora Linux 44. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.
Autrement, pas de panique, vous pouvez télécharger Fedora Linux avant de procéder à son installation. La procédure ne prend que quelques minutes.
Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.
De plus, pour éviter les mauvaises surprises, nous vous recommandons aussi de lire au préalable les bogues importants connus à ce jour pour Fedora Linux 45.
Aller plus loin
- Site officiel du projet Fedora (4 clics)
- Site officiel de la communauté francophone de Fedora (2 clics)
- Image Torrent officiels (1 clic)
- Procédure de mise à niveau (3 clics)

# excellente version
Posté par jean pierre pagani (site web personnel) . Évalué à 1 (+1/-0).
mise à jour sans problèmes depuis la version 44
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.