1Release notes for FreeBSD 16.0. 2 3This file describes new user-visible features, changes and updates relevant to 4users of binary FreeBSD releases. Each entry should describe the change in no 5more than several sentences and should reference manual pages where an 6interested user can find more information. Entries should wrap after 80 7columns. Each entry should begin with one or more commit IDs on one line, 8specified as a comma separated list and/or range, followed by a colon and a 9newline. Entries should be separated by a newline. 10 11Changes to this file should not be MFCed. 12 13b92b9da33006, 13d3bd165e22: 14 This patch allows vfs.nfsd.srvmaxio to be set to 15 a value as high as 4Mbytes. It is usually set 16 via the nfs_server_maxio variable in /etc/rc.conf. 17 184c486fe40267: 19 The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware. 20 That is, there is a multicast routing table per FIB, rather than a global 21 table. One can run a multicast routing daemon within each FIB; the FIB of 22 the routing socket determines the corresponding multicast routing table. 23 2465f5dd42f11c: 25 sh(1) add -l option which makes sh act as a login shell and read the profile. 26 27beab8b1ddf86: 28 bintrans(1) now supports the RFC2047 variant of quoted print 29 309dc96d8bc3f2: 31 libusb(3) hotplug event are now really hotplugged using either 32 nlsysevent or devd(9) if available. 33 34d64db8892f85: 35 sh(1) is the default shell in the release media. 36 3768ad2b0d7af2: 38 ncurses has been updated to 6.6 39 4052d19df19ed6: 41 nvi(1) has been update to 2.2.2 42 434d5c434ed16e, 2cfca8e710f2: 44 diff3(1) has replaced GNU diff3 and is now fully compatible. 45 46625dc44832cd: 47 tr(1) is now UTF-8 compliant. 48 4962fba0054d9e: 50 ee(1) is now UTF-8 compliant. 51 525df6aca10906: 53 ed(1) is now UTF-8 compliant. 54 5528ff4d35f8b9: 56 Update libedit to 2026-04-03. 57 58b42e852e89cb: 59 Add a new pkg-serve(8) to serve packages over TCP via inetd. 60 618b9775912cbc, 53b4ae3bf0f7: 62 Add support for an NFSv4 root file system. 63 Note that NFSv3 is still used for bootstrapping. See 64 "Diskless Operation with PXE" under "Advanced Networking" in the 65 FreeBSD Handbook. To configure an NFSv4 root fs, you will need 66 a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and 67 either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1 68 or an additional line in /boot/loader.conf like 69 boot.nfsroot.user_domain="<user-domain>", 70 if you are running nfsuserd(8). 71 72ab9257599a5: 73 The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT 74 have been removed. 75 76af099eaa5ec: 77 Users belonging to the new vmm group can now create bhyve VMs. See the 78 vmm(4) man page for details. 79 80c71354030a2: 81 Users wishing to use bhyve PCI passthrough in jails must create the 82 jail with the allow.vmm_ppt option configured. 83 844d707825bf62: 85 The pdwait(2) system call was added. It provides wait(2)-like 86 functionality for a process descriptor (see procdesc(4)). 87 885c2ee618d5ec: 89 The pdrfork(2) system call was added. It behaves like rfork(2) but 90 additionally returns a process descriptor (see procdesc(4)). 91 9241ccf82b29f3, 591c7a08bf8a: 93 On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using 94 the MOPS (Memory Operations) feature instructions when they are 95 implemented by the system. 96 973f0aea09689f: 98 posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3) 99 functions were added to libc. The latter causes posix_spawn(3) to 100 call fexecve(2) on the specified file descriptor rather than executing 101 the file at the provided path. 102 103fb4b0c911951: 104 witness(4) now prints additional information to the system console when 105 a lock order reversal is detected, making debugging such issues easier. 106 1071322760fd127: 108 It is now possible to compile both the 4BSD and ULE schedulers into the 109 same kernel. The scheduler is selectable at boot-time using a tunable. 110 See the SCHEDULERS section of the tuning(7) man page for details. 111 112627e126dbb07: 113 The default value of the net.inet6.ip6.connect_in6addr_wild has changed 114 to 0. This means that connecting to the all-zeroes IPv6 address no longer 115 implicitly results in a loopback connection. 116 117afa70a8496e9: 118 The pthread_tryjoin_np(3) function was added to libthr(3). It provides 119 the same functionality as pthread_join(3) but returns instead of 120 blocking if the target thread has not yet exited. 121 122ecc039be7fdd: 123 NanoBSD images can now be built as a non-root user. 124 1257f54c65abc67: 126 Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008 127 for the SmartArray storage controllers. This adds support for new 128 controllers, adds code that utilizes the new BIG_IOCTL_Command_struct 129 and allows the I/O buffer size for a single passthrough ioctl to be 130 stored as a 32 bit integer instead of the original 16 bit integer. 131 132b0d997095022: 133 The pf firewall now supports passing IPv6 packets to divert(4) 134 sockets via divert-to actions. 135 1360fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df: 137 LinuxKPI based wireless drivers, especially iwlwifi(4) are now 138 supported on RISC-V. 139 1408254b0dec02b3, bd55cbb50c588: 141 The mac(4) framework has been extended to support jail operations, 142 allowing a policy to constrain jail creation, modification, removal, and 143 attachment. Jails have additionally been made a first-class mac(4) 144 object, and a mac.label jail(8) property has been added to facilitate 145 administration of their labels. 146 147c558eca47970: 148 The smartpqi(4) driver was updated to vendor version 4660.0.2002 149 for the SmartArry storage controllers. 150 151493d26c58e73: 152 The aq(4) driver was added, imported from the vendor repository. 153 This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit 154 Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112). 155 1561a7151f79664: 157 A new CAM provider was added to dtrace. This enables tracing of I/O 158 requests through the CAM layer without relying on fragile function 159 boundary tracing. See dtrace_cam(4) for details. 160 161b8c99e7d912f: 162 The tdestroy(3) function was added to libc. The tdestroy() function 163 destroys a whole search tree, freeing all allocated nodes. 164 1654bf8ce037dc8: 166 The rge(4) driver was added, ported from OpenBSD. This provides 167 support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet 168 controllers. 169 170cbc6f7e941e4: 171 bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client 172 connections. 173 17439ee24182b92: 175 An rc(8) service can now be started as a specific user for auditing 176 purposes by setting the <service>_audit_user rc.conf(5) variable. 177 178dcb0790bad43: 179 A setaudit(8) utility was added to the base system. This provides a 180 simple command-line wrapper for the setaudit(2) and setaudit_addr(2) 181 system calls. 182 1838e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3: 184 Add support for an extension to NFSv4.2 (RFCnnnn) that 185 supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1). 186 187dbac191956f9, fe21dbf70aa8: 188 Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux 189 binaries. 190 191a86dc94b84d1: 192 tzdata2025c was imported. 193 194a98e5d785001: 195 Add strdupa(3) and strndupa(3) macros for compatability with glibc. 196 197e967a2a03677: 198 divert socket compat removal, consumers must use PF_DIVERT instead of 199 PF_INET. 200 2014453ec5b8716b, 2a3b1641756a: 202 The reboot(8) and halt(8) commands now perform a graceful shutdown similar 203 to the shutdown(8) command including invoking rc.d scripts to shutdown 204 services. The fastboot(8) and fasthalt(8) commands still perform a "fast" 205 reboot or shutdown. 206 207d9788eabffa4: 208 ipfilter cannot be used in a jail by default. 209 2100ff0c19e7f70: 211 ipfs(8) is no longer built by default. 212 213575efcfff22f: 214 sendfile(2)'s SF_SYNC flag was removed. 215 216057dae35ffc6, 51a01f3debff, ca3e47b0ea68: 217 hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU 218 hwpmc(4) support for Intel Emerald Rapids CPUs 219 hwpmc(4) support for Intel Alder Lake-N CPUs 220 2211ecf01065b45: 222 New library libuvmem provides the vmem(9) API to userspace applications. 223 224b6cad334e64: 225 Make game controller devices accessible by members of the "game" group 226 by default. 227 228791c531402bd: 229 Add driver for Feature Integration Technology Inc. (aka Fintek) F81232 230 USB to serial devices. 231 232ec0cd287f55f: 233 Support for NVMe/TCP offload on Chelsio T7 adapters. The nvmf_che(4) 234 module enables T7 adapters to process NVMe/TCP PDUs directly similar to 235 the PDU offload provided by cxgbei(4) for iSCSI. 236