En ce mardi 2 avril, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Beta Fedora 30.
Malgré les risques concernant la stabilité d’une version Beta, il est important de la tester ! En rapportant les bogues maintenant, vous découvrirez les nouveautés avant tout le monde, tout en améliorant la qualité de Fedora 30 et réduisez du même coup le risque de retard. Les versions en développement manquent de testeurs et de retours pour mener à bien leurs buts.
La version finale est pour le moment fixée pour le 30 avril ou le 7 mai.
Ci-après les nouveautés annoncées pour cette version.
Expérience utilisateur
- Passage à GNOME 3.32.
- Les extensions du gestionnaire de fichiers Nautilus migrent vers Python 3.
- Le bureau léger LxQt bénéficie de la mise à jour vers la version 0.14.0.
- Le nouvel environnement de bureau DeepinDE est proposé. Un bureau qui se veut moderne, performant, simple et élégant.
- Encore un nouvel environnement, Pantheon Desktop qui débarque dans Fedora. C'est celui utilisé par elementaryOS, qui réutilise les technologies de GNOME mais est écrit plutôt en Vala et se veut plus proche de l'expérience utilisateur de macOS.
- GnuGPG 2 devient l'implémentation de GPG par défaut.
Gestion du matériel
- Pour les utilisateurs d'une carte graphique Intel, l'affichage durant le démarrage est continu, sans remise à zéro de ce dernier. Cela rend l'expérience plus fluide et jolie.
- Les architectures ARMv7 disposeront par défaut d'un démarrage en uEFI.
Internationalisation
- Les groupes de composition des langues sont remplacés par les langpacks. Ce dernier était utilisé depuis Fedora 24 pour installer les traductions des paquets nécessaires à l'utilisateur. Maintenant il gère également les entrées de saisie et les polices de caractères pour une expérience plus cohérente.
Administration système
- Mise à jour de Bash à la version 5.0.
- Le shell Fish évolue également à la version 3.0.
- L'outil Vagrant est à la version 2.2 maintenant.
- DNF dispose de l'algorithme de compression zchunck en plus de xz ou gzip pour les métadonnées des dépôts ce qui permet la prise en charge des deltas pour optimiser la taille des téléchargements.
- Par défaut, les entrées de démarrage pour choisir la version du noyau à lancer vont passer au format BootLoaderSpec. Permettant ainsi de ne plus employer grubby pour réaliser cette tâche, car il est ancien et peu flexible. Le but est d'uniformiser la manière de représenter les noyaux à démarrer entre les architectures, car ils n'utilisent pas tous GRUB. Seule l'architecture ARMv7 n'est pas encore concernée, car u-boot ne gère pas ce format de représentation.
- cryptsetup utilise dorénavant les métadonnées de LUKS2 par défaut.
- dbus-broker devient l'implémentation par défaut de DBus.
- FreeIPA n'est plus utilisable avec Python 2.
- Suppression de beaucoup de paquets dépendants ou relatifs à Python 2, la fin approche et devrait se terminer pour Fedora 31.
- Le fichier /etc/sysconfig/nfs est maintenant obsolète en faveur de /etc/nfs.conf pour permettre la configuration depuis un point central en étant plus conforme à la manière dont les outils comme Ansible ou systemd traitent ce genre de configuration.
- De nombreux outils sont dépréciés : Apache Avalon, Apache Jakarta Commons HTTP client, Apache Jakarta ORO and Regexp, Apache Maven branche 2.x et Sonatype OSS Parent. Ils ne sont en effet plus maintenus depuis un moment et cette étape permet la transition pour leur suppression définitive, avec les éventuels paquets qui en dépendent.
- MongoDB est supprimé, la licence nouvellement adoptée SSPL n'étant pas considérée comme libre.
- En cas de connexion distante via SSH, l'information sur la langue à utiliser est toujours propagée du client vers le serveur pour la session en cours. Maintenant, si le serveur distant ne dispose pas de la langue cible, C.UTF-8 sera demandée.
- krb5 modernise son support des algorithmes cryptographiques en supprimant la gestion de DES, 3DES, crc-32, et MD4 pour les clés de session ou clés à long terme. MD5 et RC4 sont marqués comme obsolètes et dangereux en attendant une suppression ultérieurement.
Développement
- Mise à jour de GCC qui fait du 9.
- Glibc n'est pas en reste avec la version 2.29.
- Petit coup de Boost à la version 1.69.
- Les fonctions obsolètes et non sûres de libcrypt sont supprimées et encrypt, encrypt_r, setkey, setkey_r, and fcryp renvoient une erreur systématiquement.
- Mise à jour de Ruby qui vaut 2.6 carats.
- Les programmes Java pourront danser dans la machine virtuelle OpenJDK 12.
- Le langage de l'éléphant PHP impose sa version 7.3.
- Go avance à la version 1.12.
- L'environnement d'Erlang passe à la version 21.
- Alors que les compilateurs Haskell GHC et Stackage LTS passent respectivement à la version 8.4 et 12.
- Les shebangs Python ambigües concernant la version de Python à employer génèrent des erreurs #!/usr/bin/python devant devenir #!/usr/bin/python2 ou #!/usr/bin/python3.
- Python progressbar2 devient la version de référence pour le module des barres de progressions.
Projet Fedora
- L'environnement de compilation minimal ne dépend plus du paquet glibc-all-langpacks pour gagner en poids.
- La compilation de modules Python dans Fedora sera plus proche de ce qui se fait en amont sans nécessiter de recourir à des outils tel que redhat-rpm-macros pour cela.
- Pour ceux intéressés par le standard SWID, des drapeaux dans les paquets RPM ont été activés pour permettre leur traçabilité et faciliter leur mise en œuvre dans des dépôts ou lister les paquets correspondant à un drapeau par exemple via dnf.
- La compilation des programmes Python est en deuxième phase de réécriture pour reposer sur moins d'hypothèses, et ainsi être plus fiable et plus maintenable.
- Les drapeaux group des paquets sont supprimés pour près de 9600 d'entre eux. Depuis mars 2017 il ne fallait plus les utiliser. Maintenant c'est fait.
- L'édition de lien supprime tous les liens excessifs entre bibliothèques et les exécutables. Seules les fonctions réellement nécessaires sont liées, ce qui améliore les performances au lancement de l'application.
- Les scriptlets qui étaient obsolètes sont supprimés comme ldconfig afin de gagner du temps à l'installation des paquets et une génération des paquets plus rapide.
- Le projet améliore la façon d'avoir des statistiques sur l'utilisation de Fedora. Actuellement le tout reposait sur la collecte de données via les mirroirs pour connaître le nombre d'installation en vigueur ce qui n'était pas fiable. Pour éviter cela, chaque requête tous les 7 jours vers un dépôt officiel sera enregistrée par machine. Cela évitera les problèmes liés à la vie privée.
- Activation de Python Generators par défaut. Ceci est la généralisation de la nouveauté de Fedora 28. Ainsi un empaqueteur n'a plus à spécifier dans le paquet RPM les dépendances Python nécessaires à l'exécution du paquet. Et l'utilisateur ne se retrouvera pas avec une erreur en cas d'oubli de ladite dépendance, car résolue en amont.
Tester
Durant le développement d'une nouvelle Fedora, comme cette version Beta, quasiment chaque semaine le projet propose des journées de tests. Le but est pendant une journée de tester une fonctionnalité précise comme le noyau, Fedora Silverblue, la mise à niveau, GNOME, l’internationalisation, etc. L'équipe de qualité élabore et propose une série de tests en général simples à exécuter. Suffit de les suivre et indiquer si le résultat est celui indiqué. Dans le cas contraire, un bogue devra être ouvert pour permettre l'élaboration d'un correctif.
C'est très simple à suivre et requiert souvent peu de temps (15 minutes à une heure maximum) si vous avez une Beta exploitable sous la main.
Les tests à effectuer et les rapports sont à faire via la page suivante. J'annonce régulièrement sur mon blog quand une journée de tests est planifiée.
Si l'aventure vous intéresse, les images sont disponibles par Torrent ou via le site officiel.
En cas de bogue, n'oubliez pas de relire la documentation pour signaler les anomalies sur le BugZilla ou de contribuer à la traduction sur Zanata.
Bons tests à tous !