After six months of development, the FreeBSD 15.1 release has been finalized. Installation builds are prepared for the amd64, aarch64, armv7, powerpc64, powerpc64le, and riscv64 architectures. Additionally, builds for virtualization systems (QCOW2, VHD, VMDK, raw) and cloud environments such as Amazon EC2, Google Compute Engine, and Vagrant are provided. The FreeBSD 15.1 release will be supported until April 2027, with updates for the 15.x branch being issued until December 31, 2029.
Key Changes:
- Drivers for wireless devices rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax), and iwlwifi (Intel 802.11a/b/g/n/ac/ax/be) have been synchronized with Linux kernel 7.0.
- A framework for selecting a scheduler has been implemented in the kernel. In the kernel configuration for amd64 systems, in addition to the default SCHED_ULE scheduler, the classic SCHED_4BSD scheduler build has been activated. A sysctl parameter, kern.sched, has been added to select a scheduler during boot.
- Work has been done to ensure support for the C23 standard in the code base for compilers compiling in C23 mode. Full C23 support is expected in the FreeBSD 16 branch. The new standard introduces constants nullptr, the type _BitInt(n), and keywords bool, true, and false, which could conflict with identifications of the same name defined in old code. Support for C23 will allow the use of new language features in FreeBSD code, such as the stdbit.h header file, the memalignment() function, and updated limits.h and stdint.h with the _WIDTH macro and the char8_t type.
- The ipfw packet filter has implemented the ability to set arbitrary masks in lookup tables, allowing for the ignoring of any bit combinations in keys and table elements, for example, non-consecutive masks can be used. (the key to connect to is specified, and iroh finds the associated host and establishes an encrypted connection using the QUIC protocol). Direct P2P connections are established whenever possible, but if not, it falls back to using relays, which are also employed for host discovery by keys. You can run your own relay or connect to public relays supported by the community., such as âlookup src-ip4:255.255.253.255. The code for compatibility with ipfw packet filter versions shipped before FreeBSD 8 has been removed.
- The direction of IPv6 packets into divert sockets, which previously allowed only IPv4, has been enabled. The ifconfig command has been updated with the âstableaddrâ flag to generate stable IPv6 addresses that remain unchanged for each subnet (Stateless Address Autoconfiguration, RFC 7217).
- The default shell for the ârootâ and âfreebsdâ users has been changed from csh to sh.
- The setaudit utility has been added for managing system auditing policies.
- The find utility has been enhanced with â-xattrâ and â-xattrnameâ options for searching files with regard to extended file attributes.
- The newfs utility has been updated with the option "-u" to disable the soft updates mechanism and journaling for UFS2.
- The ipfs utility, used for saving and restoring address translation tables, has been removed by default, along with the necessary functionality in the kernel (can be restored in build settings).
- The bsdinstall script now includes pkgbase installation by default with components specified in the COMPONENTS variable. The old method of installation based on distset remains available if the DISTRIBUTIONS variable is defined.
- The standard libraries have been updated to include the functions tdestroy,
strdupa,
strndupa,
posix_spawnattr_getexecfd_np,
posix_spawnattr_setexecfd_np,
pthread_tryjoin_np.
In the memcpy, memmove, and memset functions on AArch64 systems, optimizations are implemented using MOPS (Memory Operations) instructions. - The libuvmem library has been added, implementing the vmem memory allocation mechanism that operates in user space and provides a vmem-compatible API for applications.
- The package manager pkg has been included in the images for of virtual machines and cloud systems, with support for atomic package updates with the base system upon first boot.
- The MINIMAL kernel configuration includes the virtio_scsi driver, allowing system booting on virtual machines based on qemu/kvm.
- System calls pdwait and pdfork have been implemented for a new process creation and termination mechanism that uses process descriptors.
- The compatibility layer for Linux has been updated with fcntl F_DUPFD_QUERY, which uses kcmp KCMP_FILE to check file descriptors in Linux containers.
- The iwx driver for Intel AX210/AX211/AX411 wireless adapters with Wi-Fi 6E and Wi-Fi 7 support has been added.
- Drivers have been updated. Support for Intel E835-XXV-4 and Intel E835 Ethernet network adapters, RAID controllers used in servers Fujitsu PRIMERGY, as well as NVMe drives used in Google Compute Engine C4 has been added. Enhanced support for Raspberry Pi boards. Support for performance monitoring counters (hwpmc) provided in Intel Alder Lake, Alder Lake-N, and Emerald Rapids CPUs has been added.
- The hid driver has been configured to provide access to users in the game group, allowing access to game controllers without elevated privileges using libraries such as libsdl.
- The mt utility has been made compatible with tape drives supporting LTO-10 and LTO-10P (Linear Tape-Open Generation 10) standards.
- The "zpool prefetch" command has been enhanced with support for BRT (Block Reference Table) metadata, which improves cloning and block freeing performance.
- The NFS client now supports exporting case-insensitive file systems through NFS.
With diskless booting via NFSv4, support has been implemented for mounting the NFS partition as the root filesystem and mapping user names or IDs through nfsuserd. Initial support for the NFSv4.2 extension with POSIX ACL has been added. server The NFSv4 client now has support for the archiving attribute (UF_ARCHIVE) used in the Windows NFS client. - The splash interface now allows setting a PNG format splash screen to display when the system is shutting down.
- Added sysctl net.inet.ipf.jail_allowed, which allows binding a specific set of settings and ipfilter packet filtering rules to the Jail environment.
- Added sysctl allow.vmm_ppt for passing access to PCI devices in isolated environments based on the bhyve hypervisor.
- The GPU driver based on virtio now supports virtual environments based on Parallels Desktop.
- Support for FGT (Fine-Grained Trap) registers, Extended Destination ID mechanism, and MOPS (Memory Operations) instructions has been added, enhancing virtualization capabilities and performance on ARM64 systems. Support for the ARM64 LASS (Linear Address Space Separation) extension has been added to strengthen isolation between the kernel and user space.
- Support for UNIX sockets has been added to the framebuffer implementation of the bhyve hypervisor, allowing the graphical console to be passed to Jails without using the network.
- Updated versions of OpenZFS 2.4.2, OpenSSL 3.5.6, NSS 3.123.1, xz 5.8.3, tcpdump 4.99.6, zlib 1.3.2, zstd 1.5.7, blocklistd 2026-02-07, ncurses 6.6, bsddialog 1.0.5, bmake 20251111, SQLite 3.50.4, unbound 1.25.1, MIT Kerberos 1.22.2, Heimdal Kerberos 1.22.2.
- The console font spleen has been updated to version 2.2.0 and expanded with additional characters (long dash, short dash, hyphen, angle brackets, white square, cross, and double cross). Character alignment has been improved on high pixel density screens. Unicode character tables have been updated to version 17.0.0, which includes 4803 new characters.
- The blacklist subsystem has been renamed to blocklist with a background process blocklistd. Old settings in rc scripts and packet filtering rules continue to function, but will issue a warning.
- The OpenPAM toolkit has been moved to the new FreeBSD-pam package, while the Zstandard library and the zstd utility are now in the FreeBSD-zstd package.
- On systems installed via freebsd-base packages, calls to the installworld and installkernel scripts have been blocked to avoid inconsistencies between system state and packages.
- The generation of OCI (Oracle Cloud Infrastructure) builds has been discontinued.
- The utilities fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest, and chkprintcap have been deprecated and will be removed in FreeBSD 16. For disk partition management, gpart or bsdinstall is recommended instead of fdisk and bsdlabel, and for print output, the print/cups or sysutils/LPRng ports should be used. In FreeBSD 16, the sysctls hw.ata.rotating and hw.ata.unmapped_io are also intended to be removed, along with drivers for hifn (Hifn 7751/7951/7811/7955/7956 crypto accelerators), safe (SafeNet SafeXcel 1141/1741 crypto accelerators), le (AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet), fdc (floppy disk controller), and agp (Accelerated Graphics Port).
Source: opennet.ru
