Se ha preparado la primera versión alfa de FreeBSD 15.0. Los ensamblajes de instalación se han formado para las arquitecturas amd64, powerpc64le, aarch64 y riscv64. El lanzamiento está programado para el 2 de diciembre. La actualización a la rama 15.0-ALPHA1 desde versiones anteriores mediante la utilidad freebsd-update aún no se ha implementado.
A partir de la rama FreeBSD 15, el tiempo de soporte para ramas importantes después de la formación del primer lanzamiento (15.0) se ha reducido de 5 a 4 años, y se formarán nuevas ramas importantes cada dos años. Las versiones intermedias (15.1, 15.2, 15.3) se desarrollarán en el marco de un ciclo de desarrollo fijo, lo que implica la publicación de nuevas versiones en una misma rama aproximadamente cada 6 meses, en lugar de una vez al año como se había hecho hasta ahora. Teniendo en cuenta el soporte simultáneo de dos ramas importantes diferentes, se publicará una nueva versión intermedia cada 3 meses (15.4, 16.1, 15.5, 16.2, etc.), excepto durante la preparación de los primeros lanzamientos de nuevas ramas importantes, antes de los cuales habrá un intervalo de 6 meses en los lanzamientos (por ejemplo, la versión 15.3 se formará en junio de 2027, 16.0 en diciembre de 2027, 15.4 en marzo de 2028, 16.1 en junio de 2028).
El anuncio oficial de la versión alfa de FreeBSD 15 incluye un enlace a las notas de la versión (copia) con una lista de cambios incorrecta. La lista mencionada carece de sentido, ya que contiene cambios no específicos de la rama FreeBSD 15, sino cambios en la rama 14.x respecto a la versión 14.0, es decir, incluye datos antiguos que fueron trasladados de notas de versiones publicadas anteriormente (14.1, 14.2 y 14.3).
Algunos cambios en la rama FreeBSD 15, señalados en Git:
- Se ha detenido la formación de imágenes de instalación y paquetes binarios para arquitecturas de 32 bits. La capacidad de compilar programas de 32 bits y utilizar el modo COMPAT_FREEBSD32 para ejecutar archivos ejecutables de 32 bits en un entorno basado en un núcleo de 64 bits se mantendrá al menos hasta el final del ciclo de vida de la rama FreeBSD 16.
- Se ha eliminado el administrador de volúmenes lógicos gvinum, que se utilizaba para RAID programático. El desarrollo de Gvinum se detuvo hace aproximadamente 15 años, aunque existen varios problemas conocidos en el código que nadie ha intentado solucionar. Se recomienda utilizar gconcat, gmirror, gstripe, graid o zfs en lugar de gvinum.
- Se planea eliminar el controlador agp (Accelerated Graphics Port), necesario para el funcionamiento de muchos controladores para tarjetas gráficas antiguas.
- El estado de los controladores DRM i915 y amdgpu se ha sincronizado con el núcleo de Linux 6.9.
- Se ha añadido soporte para atributos de archivo nombrados (atributos extendidos al estilo Solaris), que se planean mantener como un mecanismo alternativo de gestión de atributos extendidos, disponible para ZFS y NFSv4. Las diferencias con los métodos tradicionales de FreeBSD y Linux para trabajar con atributos extendidos se reducen a la representación de los atributos en un directorio de servicio, no visible en el espacio de nombres principal del sistema de archivos y asociado al archivo. El trabajo con atributos se realiza como con archivos normales; por ejemplo, para determinar la lista de atributos se puede ejecutar la función readdir().
- Se han implementado llamadas al sistema con la implementación del mecanismo inotify para monitorear cambios en los sistemas de archivos.
- Se ha añadido la utilidad sndctl para gestionar la configuración de las tarjetas de sonido.
- Se ha añadido la utilidad mididump para volcar eventos MIDI 1.0 en tiempo real.
- Se ha declarado listo para su uso el módulo mac_do, que permite establecer políticas que permiten a los usuarios no privilegiados modificar las credenciales de los procesos. Para ejecutar comandos bajo otro usuario, se ha preparado una utilidad mdo similar a la utilidad su, pero que no requiere suid root.
- La implementación del protocolo TLS en el lado del kernel (KTLS) está habilitada por defecto.
- Se ha agregado un nuevo backend de red "slirp" al hipervisor bhyve, que utiliza la biblioteca libslirp con una implementación de pila de red en el espacio de usuario. El backend "slirp" permite el acceso a la red del sistema invitado desde el entorno del host sin necesidad de una configuración de red separada en el lado del host.
- El comportamiento de las llamadas al sistema setgroups, getgroups e initgroups al procesar grupos de usuarios se ha acercado al de otras plataformas (la diferencia en la implementación en FreeBSD era que el identificador efectivo del grupo de procesos se almacenaba en el primer elemento del array con la lista de grupos).
- La implementación de Kerberos en el núcleo de FreeBSD se ha reemplazado de Heimdal Kerberos a MIT Kerberos. Para volver a Heimdal Kerberos en la compilación, se puede utilizar la bandera WITHOUT_MITKRB5. En FreeBSD 16, el soporte para la compilación de Heimdal Kerberos será eliminado.
- En NFS se ha añadido soporte para la operación CLONE, especificada en la norma NFSv4.2, que permite la rápida copia de archivos mediante la clonación de bloques en servidor. Este modo actualmente solo funciona al exportar secciones de ZFS a través de NFS.
- Se ha mejorado la fiabilidad de las secciones con el sistema de archivos UFS, que contiene más de 2,000,000,000 inodes.
- En sistemas amd64, se ha añadido la capacidad de utilizar más de 4TB de RAM.
- La función readdir_r ha sido declarada obsoleta.
- Se ha dejado de dar soporte al transporte UDP en el servidor SNMP bsnmpd.
- Se ha añadido el controlador ufshci para soportar controladores de sistemas de almacenamiento con interfaz UFSHCI (Universal Flash Storage Host Controller Interface).
- De manera predeterminada, se ha deshabilitado y se ha declarado obsoleta la configuración net.inet.tcp.nolocaltimewait, es decir, se ha vuelto a permitir la creación por defecto de registros TIME_WAIT para conexiones TCP que se cierran en el lado del sistema local. Se ha añadido un nuevo sysctl net.inet.tcp.msl_local para configurar el tiempo de permanencia de la conexión en estado TIME_WAIT.
- Por defecto, se ha deshabilitado el soporte para crear conexiones de red a localhost, especificando INADDR_ANY. Para restaurar este soporte, se puede establecer sysctl net.inet.ip.connect_inaddr_wild en 1.
- Sysctl net.link.bridge.member_ifaddrs está establecido en 0 por defecto, es decir, se pueden añadir interfaces a los puentes de red sin problemas. direcciones IP.
- En la implementación del sistema de archivos UFS1, se ha solucionado el problema del año 2038 (se pueden usar fechas hasta el año 2106).
- Se ha interrumpido la generación de claves RSA para SSH y EC2 AMI.
- Se ha añadido la opción de sockets de red SO_SPLICE para combinar conexiones TCP (similar a un proxy que funciona sin copiar datos en el espacio del usuario).
- En la utilidad grep, por defecto se ha desactivado la búsqueda recursiva a través de enlaces simbólicos.
- Se ha añadido un módulo del núcleo nvmfta para el soporte de controladores NVMe over Fabric y la utilidad nvmecontrol para conectarse a un controlador externo NVMe over Fabric.
- En la utilidad date se ha añadido soporte para mostrar la hora con precisión de nanosegundos; por ejemplo, «date -Ins» mostrará «2024-04-22T12:20:28,763742224+02:00».
- En jail se ha añadido soporte para la opción zfs.dataset para incluir en el entorno aislado del jail una sección, instantánea o clon de ZFS.
- En tty se ha establecido por defecto la bandera IUTF8, con la cual se elimina correctamente los caracteres UTF-8 al presionar Retroceso.
- La utilidad dialog ha sido reemplazada por bsddialog.
- Se han actualizado las versiones de Lua 5.4.8, jemalloc 5.3.0, Awk 04082025, unicode 16.0.0, CLDR 45.0.0, byacc 20240109, ncurses 6.5.
Fuente: opennet.ru
