La première version alpha de FreeBSD 15.0 a été préparée. Des installations sont disponibles pour les architectures amd64, powerpc64le, aarch64 et riscv64. La sortie est prévue pour le 2 décembre. La mise à jour vers la branche 15.0-ALPHA1 à partir des versions précédentes à l'aide de l'utilitaire freebsd-update n'est pas encore mise en œuvre.
À partir de la branche FreeBSD 15, la durée de support des branches majeures après la première version (15.0) est réduite de 5 à 4 ans, et de nouvelles branches majeures seront formées tous les deux ans. Les versions intermédiaires (15.1, 15.2, 15.3) seront développées dans le cadre d'un cycle de développement fixe, impliquant la publication de nouvelles versions dans une branche environ tous les 6 mois, et non une fois par an comme cela a été le cas jusqu'à présent. Étant donné le support simultané de deux branches majeures différentes, une nouvelle version intermédiaire sera publiée tous les 3 mois (15.4, 16.1, 15.5, 16.2, etc.), à l'exception des premières versions des nouvelles branches majeures, qui auront un délai de 6 mois avant leur sortie (par exemple, la version 15.3 sera formée en juin 2027, 16.0 en décembre 2027, 15.4 en mars 2028, 16.1 en juin 2028).
L'annonce officielle de la version alpha de FreeBSD 15 contient un lien vers les notes de version (copie) avec une liste des modifications incorrecte. La liste mentionnée n'a pas de sens, car elle contient des modifications qui ne sont pas spécifiques à la branche FreeBSD 15, mais des modifications dans la branche 14.x par rapport à la version 14.0, c’est-à-dire qu'elle inclut d'anciennes données transférées à partir de notes de version pour 14.1, 14.2 et 14.3 publiées précédemment.
Certaines modifications de la branche FreeBSD 15, notées dans Git :
- La création d'images d'installation et de compilations de paquets binaires pour les architectures 32 bits a été interrompue. La possibilité de compiler des programmes 32 bits et d'utiliser le mode COMPAT_FREEBSD32 pour exécuter des fichiers exécutables 32 bits dans un environnement basé sur un noyau 64 bits sera maintenue au moins jusqu'à la fin du cycle de vie de la branche FreeBSD 16.
- Le gestionnaire de volumes logiques gvinum, utilisé pour les RAID logiciels, a été supprimé. Le développement de Gvinum a été arrêté il y a environ 15 ans, bien que le code comporte un certain nombre de problèmes connus qui n'ont jamais été corrigés. Il est recommandé d'utiliser gconcat, gmirror, gstripe, graid ou zfs à la place de gvinum.
- Le pilote agp (Accelerated Graphics Port), nécessaire au fonctionnement de nombreux pilotes pour anciennes cartes graphiques, est prévu pour être supprimé.
- L'état des pilotes DRM i915 et amdgpu a été synchronisé avec le noyau Linux 6.9.
- Le support des attributs de fichiers nommés (attributs étendus à la manière de Solaris) a été ajouté, qui seront maintenus comme un mécanisme alternatif pour la gestion des attributs étendus, disponible pour ZFS et NFSv4. Les différences par rapport aux méthodes traditionnelles pour FreeBSD et Linux en matière d'attributs étendus se résument à la représentation des attributs dans un répertoire de service, non visible dans l'espace de noms principal du système de fichiers et associée au fichier. L'interaction avec les attributs se fait comme avec des fichiers ordinaires, par exemple, pour déterminer la liste des attributs, la fonction readdir() peut être utilisée.
- Des appels système ont été mis en œuvre avec la réalisation du mécanisme inotify pour suivre les modifications dans les systèmes de fichiers.
- L'utilitaire sndctl a été ajouté pour gérer les paramètres des cartes son.
- L'utilitaire mididump a été ajouté pour le dump des événements MIDI 1.0 en temps réel.
- Le module mac_do a été déclaré prêt à l'emploi, permettant de définir des politiques autorisant les utilisateurs non privilégiés à modifier les identifiants des processus. Pour exécuter des commandes sous un autre utilisateur, un utilitaire mdo similaire à l'utilitaire su a été préparé, mais ne nécessite pas de suid root.
- L'implémentation du protocole TLS côté noyau (KTLS) est activée par défaut.
- Un nouveau backend réseau « slirp » a été ajouté au hyperviseur bhyve, utilisant la bibliothèque libslirp avec une implémentation de la pile réseau en espace utilisateur. Le backend « slirp » permet d'accéder au réseau de la machine invitée depuis l'environnement hôte sans configuration réseau distincte du côté hôte.
- Le comportement des appels système setgroups, getgroups et initgroups concernant le traitement des groupes d'utilisateurs a été rapproché des autres plateformes (la différence d'implémentation dans FreeBSD était de stocker l'identifiant de groupe effectif des processus dans le premier élément du tableau de la liste des groupes).
- L'implémentation de Kerberos dans la version principale de FreeBSD a été remplacée de Heimdal Kerberos à MIT Kerberos. Pour revenir à Heimdal Kerberos lors de la construction, l'option WITHOUT_MITKRB5 peut être utilisée. Dans FreeBSD 16, le support pour la construction de Heimdal Kerberos sera supprimé.
- Le support de l'opération CLONE, défini dans la spécification NFSv4.2, permettant un copier rapide de fichiers par clonage de blocs, a été ajouté à NFS. le serveur. Ce mode fonctionne pour l’instant uniquement lors de l'exportation de partitions ZFS via NFS.
- La fiabilité des sections avec le système de fichiers UFS, contenant plus de 2 000 000 000 d'inodes, a été améliorée.
- Sur les systèmes amd64, il est désormais possible d'utiliser plus de 4 To de RAM.
- La fonction readdir_r a été déclarée obsolète.
- La prise en charge du transport UDP a été interrompue dans le serveur SNMP bsnmpd.
- Le pilote ufshci a été ajouté pour prendre en charge les contrôleurs de stockage avec interface UFSHCI (Universal Flash Storage Host Controller Interface).
- Par défaut, la configuration net.inet.tcp.nolocaltimewait a été désactivée et déclarée obsolète, c'est-à-dire qu'il a été rétabli la création par défaut des enregistrements TIME_WAIT pour les connexions TCP interrompues du côté du système local. Pour configurer la durée de présence d'une connexion dans l'état TIME_WAIT, un nouveau sysctl net.inet.tcp.msl_local a été ajouté.
- Par défaut, la prise en charge de la création de connexions réseaux vers localhost en utilisant INADDR_ANY est désactivée. Pour rétablir cette prise en charge, il faut définir sysctl net.inet.ip.connect_inaddr_wild sysctl à 1.
- Sysctl net.link.bridge.member_ifaddrs est défini par défaut à 0, c'est-à-dire que des interfaces peuvent être ajoutées aux ponts réseau sans. adresses IP.
- Dans l'implémentation du système de fichiers UFS1, le problème de l'année 2038 a été résolu (les dates peuvent être utilisées jusqu'en 2106).
- La génération de clés hôtes RSA pour SSH et EC2 AMI a été arrêtée.
- Une option de sockets réseau SO_SPLICE a été ajoutée pour combiner les connexions TCP (similaire à un proxy fonctionnant sans copier les données dans l'espace utilisateur).
- Dans l'utilitaire grep, le suivi des liens symboliques est désactivé par défaut lors de la recherche récursive.
- Un module de noyau nvmft a été ajouté pour prendre en charge les contrôleurs NVMe over Fabric et l'utilitaire nvmecontrol pour se connecter à un contrôleur externe NVMe over Fabric.
- L'utilitaire date a ajouté la prise en charge de l'affichage du temps avec une précision nanoseconde, par exemple, « date -Ins » affichera « 2024-04-22T12:20:28,763742224+02:00 ».
- Dans le jail, le support de l'option zfs.dataset a été ajouté pour inclure une partition, un snapshot ou un clone ZFS dans un environnement de jail isolé.
- Dans tty, le drapeau IUTF8 est activé par défaut, ce qui permet la suppression correcte des caractères UTF-8 lorsque la touche Backspace est pressée.
- L'outil dialog a été remplacé par bsddialog.
- Mises à jour des versions Lua 5.4.8, jemalloc 5.3.0, Awk 04082025, unicode 16.0.0, CLDR 45.0.0, byacc 20240109, ncurses 6.5.
Source : opennet.ru
