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 134523eebc6c18: 14 less(1) has been updated to version 710. The obsolete lesskey(1) 15 utility has been removed; less(1) reads plain-text lesskey files 16 such as ~/.lesskey and /etc/syslesskey directly, and the file format 17 is now documented in lesskey(5). New features in this release 18 include the || command, the right-limit-scroll command, underlining 19 of OSC 8 hyperlinks, -DO for coloring them, and LESSMSG, which 20 allows less(1) messages to be translated into other languages. 21 223fe5961a0b70: 23 sysconf(8) and libbsdconf(3) have been added. sysconf(8) queries 24 and edits loader.conf(5), sysctl.conf(5), and the make.conf(5) 25 family (make.conf, src.conf, and src-env.conf) in the style of 26 sysrc(8). The rc target passes through to sysrc(8). 27 287144a1d58c5c, a311bd18a6fb, 884ee8d6c9b4: 29 These three patches add the required "glue" so that the 30 nfsrdma.ko and nfsclrdma.ko modules can be loaded. 31 These modules provide server and client support for 32 NFS over RDMA. 33 3434bb38445b07: 35 libusb has been updated to upstream 1.0.27 compatible. 36 All missing part is implemented and version tag is bumped. 37 386563dcb6b1f5: 39 It is now possible to use connectat(2) to connect to a unix(4) socket 40 directly, i.e., without having to specify a name in the sockaddr. 41 4272e57bc26417, 3dfbbe8586bb, d8e8f9251975: 43 These patches provide improvements for the pNFS server 44 configuration. New optional features include: 45 - Support for striped Flexible File Layouts (RFC8435). 46 - Support for pre-creation of files, allowing the 47 Open/Create to be done without communicating with 48 any DSs, so long as the cache of pre-created files 49 is not depleted. 50 51b92b9da33006, 13d3bd165e22: 52 This patch allows vfs.nfsd.srvmaxio to be set to 53 a value as high as 4Mbytes. It is usually set 54 via the nfs_server_maxio variable in /etc/rc.conf. 55 564c486fe40267: 57 The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware. 58 That is, there is a multicast routing table per FIB, rather than a global 59 table. One can run a multicast routing daemon within each FIB; the FIB of 60 the routing socket determines the corresponding multicast routing table. 61 625c2186b99254,628d7a3270b6: 63 When the sector size for an NVMe namespace changes, nda(4) now 64 reports this as a media change rather than a disk resize 65 event. nda(4) also no longer reports a disk resize event in 66 some cases when the namespace's size had not changed. nda(4) 67 also reprobes NVMe namespaces each time they are opened to 68 check for a new sector size or namespace size. 69 707a323f873662: 71 Remove the le(4) driver. This driver supported older 10Mbps 72 and 100Mbps Ethernet adapters. True hardware devices have not 73 been used in FreeBSD systems in many years, but the driver was 74 previously retained for use with MIPS QEMU virtual machines. 75 76e51ef8ae490f: 77 Add initial support for instruction-based sampling (IBS) 78 performance counters on AMD processors to hwpmc(4). 79 80d69fc3a9dc71: 81 The EFI boot loader now tries all ZFS pools found during 82 probing when looking for a boot pool. Previously it would try 83 only the first pool found. 84 854d5c434ed16e: 86 Use the BSD-licensed implementation of diff3 instead of GNU diff3 87 by default. 88 897f54c65abc67: 90 Update the smartpqi(4) driver to vendor version 14.4690.0.2008 91 - 15.2.0.2008. This includes support for new controllers and 92 renaming Microsemi to Microchip. 93 94350c1232a57a: 95 nvmecontrol(8)'s telemetry-log now works reliably. 96 97d14e018024bb,b125c4d13095,1322760fd127,0730a05cd383: 98 Permit both SCHED_ULE and SCHED_4BSD to be compiled into the 99 same kernel. The scheduler can be selected at boot time by 100 setting the kern.sched_name tunable to the scheduler name 101 ("4BSD" or "ULE"). The default scheduler is ULE. This is 102 currently enabled in amd64 kernels by default. 103 10490a7728cd890: 105 Update nuageinit to request configuration on all network 106 interfaces. nuageinit will now issue DHCP requests on all 107 network interfaces and request configuration data from the 108 first interface which successfully obtains a lease. 109 11092ba9b2fe589: 111 Add RoCE support for Broadcom BCM576xx controllers. 112 113fb4b0c911951: 114 Add a facility to witness(4) to provide more detailed information 115 about lock order reversals detailing when initial lock orders were 116 established. 117 11865f5dd42f11c: 119 sh(1) add -l option which makes sh act as a login shell and read the profile. 120 121beab8b1ddf86: 122 bintrans(1) now supports the RFC2047 variant of quoted print 123 1249dc96d8bc3f2: 125 libusb(3) hotplug event are now really hotplugged using either 126 nlsysevent or devd(9) if available. 127 128d64db8892f85: 129 sh(1) is the default shell in the release media. 130 13168ad2b0d7af2: 132 ncurses has been updated to 6.6 133 13452d19df19ed6: 135 nvi(1) has been update to 2.2.2 136 1374d5c434ed16e, 2cfca8e710f2: 138 diff3(1) has replaced GNU diff3 and is now fully compatible. 139 140625dc44832cd: 141 tr(1) is now UTF-8 compliant. 142 14362fba0054d9e: 144 ee(1) is now UTF-8 compliant. 145 1465df6aca10906: 147 ed(1) is now UTF-8 compliant. 148 14928ff4d35f8b9: 150 Update libedit to 2026-04-03. 151 152b42e852e89cb: 153 Add a new pkg-serve(8) to serve packages over TCP via inetd. 154 1558b9775912cbc, 53b4ae3bf0f7: 156 Add support for an NFSv4 root file system. 157 Note that NFSv3 is still used for bootstrapping. See 158 "Diskless Operation with PXE" under "Advanced Networking" in the 159 FreeBSD Handbook. To configure an NFSv4 root fs, you will need 160 a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and 161 either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1 162 or an additional line in /boot/loader.conf like 163 boot.nfsroot.user_domain="<user-domain>", 164 if you are running nfsuserd(8). 165 166ab9257599a5: 167 The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT 168 have been removed. 169 170af099eaa5ec: 171 Users belonging to the new vmm group can now create bhyve VMs. See the 172 vmm(4) man page for details. 173 174c71354030a2: 175 Users wishing to use bhyve PCI passthrough in jails must create the 176 jail with the allow.vmm_ppt option configured. 177 1784d707825bf62: 179 The pdwait(2) system call was added. It provides wait(2)-like 180 functionality for a process descriptor (see procdesc(4)). 181 1825c2ee618d5ec: 183 The pdrfork(2) system call was added. It behaves like rfork(2) but 184 additionally returns a process descriptor (see procdesc(4)). 185 18641ccf82b29f3, 591c7a08bf8a: 187 On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using 188 the MOPS (Memory Operations) feature instructions when they are 189 implemented by the system. 190 1913f0aea09689f: 192 posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3) 193 functions were added to libc. The latter causes posix_spawn(3) to 194 call fexecve(2) on the specified file descriptor rather than executing 195 the file at the provided path. 196 197fb4b0c911951: 198 witness(4) now prints additional information to the system console when 199 a lock order reversal is detected, making debugging such issues easier. 200 2011322760fd127: 202 It is now possible to compile both the 4BSD and ULE schedulers into the 203 same kernel. The scheduler is selectable at boot-time using a tunable. 204 See the SCHEDULERS section of the tuning(7) man page for details. 205 206627e126dbb07: 207 The default value of the net.inet6.ip6.connect_in6addr_wild has changed 208 to 0. This means that connecting to the all-zeroes IPv6 address no longer 209 implicitly results in a loopback connection. 210 211afa70a8496e9: 212 The pthread_tryjoin_np(3) function was added to libthr(3). It provides 213 the same functionality as pthread_join(3) but returns instead of 214 blocking if the target thread has not yet exited. 215 216ecc039be7fdd: 217 NanoBSD images can now be built as a non-root user. 218 2197f54c65abc67: 220 Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008 221 for the SmartArray storage controllers. This adds support for new 222 controllers, adds code that utilizes the new BIG_IOCTL_Command_struct 223 and allows the I/O buffer size for a single passthrough ioctl to be 224 stored as a 32 bit integer instead of the original 16 bit integer. 225 226b0d997095022: 227 The pf firewall now supports passing IPv6 packets to divert(4) 228 sockets via divert-to actions. 229 2300fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df: 231 LinuxKPI based wireless drivers, especially iwlwifi(4) are now 232 supported on RISC-V. 233 2348254b0dec02b3, bd55cbb50c588: 235 The mac(4) framework has been extended to support jail operations, 236 allowing a policy to constrain jail creation, modification, removal, and 237 attachment. Jails have additionally been made a first-class mac(4) 238 object, and a mac.label jail(8) property has been added to facilitate 239 administration of their labels. 240 241c558eca47970: 242 The smartpqi(4) driver was updated to vendor version 4660.0.2002 243 for the SmartArry storage controllers. 244 245493d26c58e73: 246 The aq(4) driver was added, imported from the vendor repository. 247 This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit 248 Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112). 249 2501a7151f79664: 251 A new CAM provider was added to dtrace. This enables tracing of I/O 252 requests through the CAM layer without relying on fragile function 253 boundary tracing. See dtrace_cam(4) for details. 254 255b8c99e7d912f: 256 The tdestroy(3) function was added to libc. The tdestroy() function 257 destroys a whole search tree, freeing all allocated nodes. 258 2594bf8ce037dc8: 260 The rge(4) driver was added, ported from OpenBSD. This provides 261 support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet 262 controllers. 263 264cbc6f7e941e4: 265 bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client 266 connections. 267 26839ee24182b92: 269 An rc(8) service can now be started as a specific user for auditing 270 purposes by setting the <service>_audit_user rc.conf(5) variable. 271 272dcb0790bad43: 273 A setaudit(8) utility was added to the base system. This provides a 274 simple command-line wrapper for the setaudit(2) and setaudit_addr(2) 275 system calls. 276 2778e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3: 278 Add support for an extension to NFSv4.2 (RFCnnnn) that 279 supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1). 280 281dbac191956f9, fe21dbf70aa8: 282 Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux 283 binaries. 284 285a86dc94b84d1: 286 tzdata2025c was imported. 287 288a98e5d785001: 289 Add strdupa(3) and strndupa(3) macros for compatability with glibc. 290 291e967a2a03677: 292 divert socket compat removal, consumers must use PF_DIVERT instead of 293 PF_INET. 294 2954453ec5b8716b, 2a3b1641756a: 296 The reboot(8) and halt(8) commands now perform a graceful shutdown similar 297 to the shutdown(8) command including invoking rc.d scripts to shutdown 298 services. The fastboot(8) and fasthalt(8) commands still perform a "fast" 299 reboot or shutdown. 300 301d9788eabffa4: 302 ipfilter cannot be used in a jail by default. 303 3040ff0c19e7f70: 305 ipfs(8) is no longer built by default. 306 307575efcfff22f: 308 sendfile(2)'s SF_SYNC flag was removed. 309 310057dae35ffc6, 51a01f3debff, ca3e47b0ea68: 311 hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU 312 hwpmc(4) support for Intel Emerald Rapids CPUs 313 hwpmc(4) support for Intel Alder Lake-N CPUs 314 3151ecf01065b45: 316 New library libuvmem provides the vmem(9) API to userspace applications. 317 318b6cad334e64: 319 Make game controller devices accessible by members of the "game" group 320 by default. 321 322791c531402bd: 323 Add driver for Feature Integration Technology Inc. (aka Fintek) F81232 324 USB to serial devices. 325 326ec0cd287f55f: 327 Support for NVMe/TCP offload on Chelsio T7 adapters. The nvmf_che(4) 328 module enables T7 adapters to process NVMe/TCP PDUs directly similar to 329 the PDU offload provided by cxgbei(4) for iSCSI. 330