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 13 1465f5dd42f11c: 15 sh(1) add -l option which makes sh act as a login shell and read the profile. 16 17beab8b1ddf86: 18 bintrans(1) now supports the RFC2047 variant of quoted print 19 209dc96d8bc3f2: 21 libusb(3) hotplug event are now really hotplugged using either 22 nlsysevent or devd(9) if available. 23 24d64db8892f85: 25 sh(1) is the default shell in the release media. 26 2768ad2b0d7af2: 28 ncurses has been updated to 6.6 29 3052d19df19ed6: 31 nvi(1) has been update to 2.2.2 32 334d5c434ed16e, 2cfca8e710f2: 34 diff3(1) has replaced GNU diff3 and is now fully compatible. 35 36625dc44832cd: 37 tr(1) is now UTF-8 compliant. 38 3962fba0054d9e: 40 ee(1) is now UTF-8 compliant. 41 425df6aca10906: 43 ed(1) is now UTF-8 compliant. 44 4528ff4d35f8b9: 46 Update libedit to 2026-04-03. 47 48b42e852e89cb: 49 Add a new pkg-serve(8) to serve packages over TCP via inetd. 50 518b9775912cbc, 53b4ae3bf0f7: 52 Add support for an NFSv4 root file system. 53 Note that NFSv3 is still used for bootstrapping. See 54 "Diskless Operation with PXE" under "Advanced Networking" in the 55 FreeBSD Handbook. To configure an NFSv4 root fs, you will need 56 a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and 57 either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1 58 or an additional line in /boot/loader.conf like 59 boot.nfsroot.user_domain="<user-domain>", 60 if you are running nfsuserd(8). 61 62ab9257599a5: 63 The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT 64 have been removed. 65 66af099eaa5ec: 67 Users belonging to the new vmm group can now create bhyve VMs. See the 68 vmm(4) man page for details. 69 70c71354030a2: 71 Users wishing to use bhyve PCI passthrough in jails must create the 72 jail with the allow.vmm_ppt option configured. 73 744d707825bf62: 75 The pdwait(2) system call was added. It provides wait(2)-like 76 functionality for a process descriptor (see procdesc(4)). 77 785c2ee618d5ec: 79 The pdrfork(2) system call was added. It behaves like rfork(2) but 80 additionally returns a process descriptor (see procdesc(4)). 81 8241ccf82b29f3, 591c7a08bf8a: 83 On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using 84 the MOPS (Memory Operations) feature instructions when they are 85 implemented by the system. 86 873f0aea09689f: 88 posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3) 89 functions were added to libc. The latter causes posix_spawn(3) to 90 call fexecve(2) on the specified file descriptor rather than executing 91 the file at the provided path. 92 93fb4b0c911951: 94 witness(4) now prints additional information to the system console when 95 a lock order reversal is detected, making debugging such issues easier. 96 971322760fd127: 98 It is now possible to compile both the 4BSD and ULE schedulers into the 99 same kernel. The scheduler is selectable at boot-time using a tunable. 100 See the SCHEDULERS section of the tuning(7) man page for details. 101 102627e126dbb07: 103 The default value of the net.inet6.ip6.connect_in6addr_wild has changed 104 to 0. This means that connecting to the all-zeroes IPv6 address no longer 105 implicitly results in a loopback connection. 106 107afa70a8496e9: 108 The pthread_tryjoin_np(3) function was added to libthr(3). It provides 109 the same functionality as pthread_join(3) but returns instead of 110 blocking if the target thread has not yet exited. 111 112ecc039be7fdd: 113 NanoBSD images can now be built as a non-root user. 114 1157f54c65abc67: 116 Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008 117 for the SmartArray storage controllers. This adds support for new 118 controllers, adds code that utilizes the new BIG_IOCTL_Command_struct 119 and allows the I/O buffer size for a single passthrough ioctl to be 120 stored as a 32 bit integer instead of the original 16 bit integer. 121 122b0d997095022: 123 The pf firewall now supports passing IPv6 packets to divert(4) 124 sockets via divert-to actions. 125 1260fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df: 127 LinuxKPI based wireless drivers, especially iwlwifi(4) are now 128 supported on RISC-V. 129 1308254b0dec02b3, bd55cbb50c588: 131 The mac(4) framework has been extended to support jail operations, 132 allowing a policy to constrain jail creation, modification, removal, and 133 attachment. Jails have additionally been made a first-class mac(4) 134 object, and a mac.label jail(8) property has been added to facilitate 135 administration of their labels. 136 137c558eca47970: 138 The smartpqi(4) driver was updated to vendor version 4660.0.2002 139 for the SmartArry storage controllers. 140 141493d26c58e73: 142 The aq(4) driver was added, imported from the vendor repository. 143 This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit 144 Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112). 145 1461a7151f79664: 147 A new CAM provider was added to dtrace. This enables tracing of I/O 148 requests through the CAM layer without relying on fragile function 149 boundary tracing. See dtrace_cam(4) for details. 150 151b8c99e7d912f: 152 The tdestroy(3) function was added to libc. The tdestroy() function 153 destroys a whole search tree, freeing all allocated nodes. 154 1554bf8ce037dc8: 156 The rge(4) driver was added, ported from OpenBSD. This provides 157 support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet 158 controllers. 159 160cbc6f7e941e4: 161 bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client 162 connections. 163 16439ee24182b92: 165 An rc(8) service can now be started as a specific user for auditing 166 purposes by setting the <service>_audit_user rc.conf(5) variable. 167 168dcb0790bad43: 169 A setaudit(8) utility was added to the base system. This provides a 170 simple command-line wrapper for the setaudit(2) and setaudit_addr(2) 171 system calls. 172 1738e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3: 174 Add support for an extension to NFSv4.2 (RFCnnnn) that 175 supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1). 176 177dbac191956f9, fe21dbf70aa8: 178 Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux 179 binaries. 180 181a86dc94b84d1: 182 tzdata2025c was imported. 183 184a98e5d785001: 185 Add strdupa(3) and strndupa(3) macros for compatability with glibc. 186 187e967a2a03677: 188 divert socket compat removal, consumers must use PF_DIVERT instead of 189 PF_INET. 190 1914453ec5b8716b, 2a3b1641756a: 192 The reboot(8) and halt(8) commands now perform a graceful shutdown similar 193 to the shutdown(8) command including invoking rc.d scripts to shutdown 194 services. The fastboot(8) and fasthalt(8) commands still perform a "fast" 195 reboot or shutdown. 196 197d9788eabffa4: 198 ipfilter cannot be used in a jail by default. 199 2000ff0c19e7f70: 201 ipfs(8) is no longer built by default. 202 203575efcfff22f: 204 sendfile(2)'s SF_SYNC flag was removed. 205 206057dae35ffc6, 51a01f3debff, ca3e47b0ea68: 207 hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU 208 hwpmc(4) support for Intel Emerald Rapids CPUs 209 hwpmc(4) support for Intel Alder Lake-N CPUs 210 2111ecf01065b45: 212 New library libuvmem provides the vmem(9) API to userspace applications. 213 214b6cad334e64: 215 Make game controller devices accessible by members of the "game" group 216 by default. 217 218791c531402bd: 219 Add driver for Feature Integration Technology Inc. (aka Fintek) F81232 220 USB to serial devices. 221 222ec0cd287f55f: 223 Support for NVMe/TCP offload on Chelsio T7 adapters. The nvmf_che(4) 224 module enables T7 adapters to process NVMe/TCP PDUs directly similar to 225 the PDU offload provided by cxgbei(4) for iSCSI. 226