1Release notes for FreeBSD 14.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 1341582f28ddf7: 14 FreeBSD 15.0 will not include support for 32-bit platforms. 15 However, 64-bit systems will still be able to run older 32-bit 16 binaries. 17 18 Support for executing 32-bit binaries on 64-bit platforms via 19 COMPAT_FREEBSD32 will remain supported for at least the 20 stable/15 and stable/16 branches. 21 22 Support for compiling individual 32-bit applications via 23 `cc -m32` will also be supported for at least the stable/15 24 branch which includes suitable headers in /usr/include and 25 libraries in /usr/lib32. 26 27 Support for 32-bit platforms in ports for 15.0 and later 28 releases is also deprecated, and these future releases may not 29 include binary packages for 32-bit platforms or support for 30 building 32-bit applications from ports. 31 32 stable/14 and earlier branches will retain existing 32-bit 33 kernel and world support. Ports will retain existing support 34 for building ports and packages for 32-bit systems on stable/14 35 and earlier branches as long as those branches are supported 36 by the ports system. However, all 32-bit platforms are Tier-2 37 or Tier-3 and support for individual ports should be expected 38 to degrade as upstreams deprecate 32-bit platforms. 39 40 With the current support schedule, stable/14 will be EOLed 5 41 years after the release of 14.0. The EOL of stable/14 would 42 mark the end of support for 32-bit platforms including source 43 releases, pre-built packages, and support for building 44 applications from ports. Given an estimated release date of 45 October 2023 for 14.0, support for 32-bit platforms would end 46 in October 2028. 47 48 The project may choose to alter this approach when 15.0 is 49 released by extending some level of 32-bit support for one or 50 more platforms in 15.0 or later. Users should use the 51 stable/14 branch to migrate off of 32-bit platforms. 52 533cb2f5f369ec: 54 The lua-flavored loader(8) will now interpret .lua files that appear in 55 loader_conf_files as lua, and execute them in a sandbox. Existing 56 loader environment variables are available as globals in the sandbox, 57 and any global variable set, if not a table value, will be reflected in 58 the loader environment upon successful execution of the configuration 59 file. Environment variables with names that aren't valid lua names may 60 be accessed as indices of _ENV; e.g., _ENV['net.fibs']. 61 62bdc81eeda05d: 63 nda is now the default nvme device on all platforms. While nda creates 64 nvd links by default so fstab, etc continues to work, configuration 65 should be updated to the new nda devices. 66 67 To restore the old behavior, add hw.nvme.use_nvd=1 to loader.conf or 68 `options NVME_USE_NVD=1` to the kernel config. To disable the nvd 69 compatibility aliases, add kern.cam.nda.nvd_compat=0 to loader.conf. 70 71bbb2d2ce4220: 72 Change pw (hence bsdinstall) not to move /home to /usr/home. 73 Previously, when creating the path to home directories, pw 74 would move any path in the root directory under /usr, creating 75 a symlink in root. In particular, the default /home would become 76 /usr/home. Now /home is at the top level by default. /usr/home 77 can be used explicitly. 78 793416e102c4e9: 80 Remove TI code from armv7 GENERIC kernel. 81 This code doesn't cope with newer DTS and hasn't in a long time so 82 support for TI armv7 platform (like BeagleBone and Pandaboard) is now 83 removed from GENERIC. 84 85d198b8774d2c: 86 Add a new "fwget" utility. 87 The goal of this utility is to inspect the system for peripherals 88 that needs firmware and install the appropriate packages for them. 89 For now only pci subsystem is supported and only firmwares for Intel 90 and AMD GPUs are known. 91 92896516e54a8c: 93 Add a new "syskrb5" mount option for Kerberized NFSv4.1/4.2 mounts. 94 Without this patch, a Kerberized NFSv4.1/4.2 mount must provide 95 a Kerberos credential for the client at mount time. 96 This patch uses a feature of NFSv4.1/4.2 called SP4_NONE, which 97 allows the state maintenance operations to be performed by any 98 authentication mechanism, so that these operations may be done via 99 AUTH_SYS instead of RPCSEC_GSS (KerberosV). As such, no Kerberos 100 credential is required at mount time. 101 See mount_nfs(8). 102 103330aa8acdec7,ff2f1f691cdb: 104 Adds support for the SP4_MACH_CRED case for the 105 NFSv4.1/4.2 ExchangeID operation since the Linux 106 NFSv4.1/4.2 client is now using this for Kerberized mounts. 107 This change should only affect Kerberized NFSv4.1/4.2 mounts. 108 The Linux Kerberized NFSv4.1/4.2 mounts currently work without 109 support for this because Linux will fall back to SP4_NONE, 110 but there is no guarantee this fallback will work forever. 111 1127344856e3a6d and many others: 113 Add support so that nfsd(8), nfsuserd(8), mountd(8), gssd(8) 114 and rpc.tlsservd(8) can be run in an appropriately configured 115 vnet prison. The vnet prison must be on its own file system, 116 have the "allow.nfsd" jail parameter set on it and enforce_statfs 117 cannot be set to "0". Use of UDP and pNFS server configurations 118 are not permitted. (ie. The nfsd command line options "-u", "-p" 119 and "-m" are not supported.) 120 See jail(8), nfsd(8) and mountd(8). 121 1222fb4f839f3fc,d89513ed2050,3413ee88c39d,f97a19ecb985,021562c5020d,431d2a81d421: 123 sendmail has been updated to the latest upstream version (8.17.1). 124 1254a30d7bb373c,d670a8f7c596,af01b4722577,4e240e55d818: 126 The growfs(7) script can now add a swap partition at the end of 127 the expansion area, and does so by default if there is no existing 128 swap. See growfs(7). 129 13086edb11e7491: 131 llvm-objump is now always installed as objdump. 132 133616f32ea6da7: 134 mta_start_script along with othermta rc.d script has been retired. 135 136a67b925ff3e5: 137 The default mail transport agent is now dma(8) replacing sendmail. 138 13922893e584032: 140 L3 filtering on if_bridge will do surprising things which aren't 141 fail-safe, so net.link.bridge.pfil_member and 142 net.link.bridge.pfil_bridge now default to zero. 143 144f0bc4ed144fc: 145 A new DTrace provider, kinst, is introduced and documented in 146 dtrace_kinst(4). The provider allows kernel instructions to be traced, 147 similar to the FBT (function boundary tracing) provider except that all 148 instructions may be probed instead of logical entry and return 149 instructions. The provider is currently amd64-only. 150 1510eea46fb1f83: 152 Removed telnetd. 153 154981ef32230b2,33721eb991d8: 155 These commits make the use of NFSv4.1/4.2 mounts with the "intr" 156 mount option fairly usable, although not 100% correct, so long as 157 the "nolockd" mount option is used as well. See the mount_nfs(8) 158 manual page for more information. 159 160b875d4f5ddcb,0685c73cfe88: 161 The NFSv4.1/4.2 client and server will now generate console messages 162 if sessions are broken, suggesting that users check to ensure 163 that the /etc/hostid strings are unique for all NFSv4.1/4.2 clients. 164 165240afd8c1fcc: 166 makefs(8) has ZFS support; it can create a ZFS pool, backed by a 167 single disk vdev, containing one or more datasets populated from 168 the staging directory. 169 17078ee8d1c4cda,f4f56ff43dbd: 171 The in-tree qat(4) driver has been replaced with Intel's QAT driver. 172 The new version provides additional interfaces to the chipset's 173 cryptographic and compression offload functionality. 174 175 This will have no visible change for most users; however, the new 176 driver does not support Atom C2000 chipsets. To preserve support for 177 those chipsets, the old driver has been renamed to qat_c2xxx and kept 178 in the tree. Users of qat(4) on C2000 hardware will thus need to 179 ensure that qat_c2xxx(4) is loaded instead of qat(4). 180 181da5b7e90e740,5a8fceb3bd9f,7b0a665d72c0,13ec1e3155c7,318d0db5fe8a,1ae2c59bcf21: 182 Boottrace is a new kernel-userspace interface for capturing trace 183 events during system boot and shutdown. Event annotations are 184 present in: 185 186 - The boot and shutdown paths in the kernel 187 - Some key system utilities (init(8), shutdown(8), reboot(8)) 188 - rc(8) scripts (via boottrace(8)) 189 190 In contrast to other existing boot-time tracing facilities like TSLOG, 191 Boottrace focuses on the ease of use and is aimed primarily at system 192 administrators. 193 194 It is available in the default GENERIC kernel and can be enabled by 195 toggling a single sysctl(8) variable. 196 197 See boottrace(4) for more details. 198 19905a1d0f5d7ac: 200 Kernel TLS offload now supports receive-side offload of TLS 1.3. 201 20219dc64451179: 203 if_stf now supports 6rd (RFC5969). 204 205c1d255d3ffdb, 3968b47cd974, bd452dcbede6: 206 Add WiFi 6 support to wpa. 207 208ba48d52ca6c8,4ac3d08a9693,2533eca1c2b9: 209 The default bell tone is now 800Hz. It may be set with kbdcontrol 210 again. There's devd integration for people wishing to use their sound 211 cards for the beep. 212 21392b3e07229ba: 214 net.inet.tcp.nolocaltimewait enabled by default. It prevents 215 creation of timewait entries for TCP connections that were 216 terminated locally. 217 218d410b585b6f0: 219 sh(1) is now the default shell for the root user. 220 221396851c20aeb: 222 libncursesw has been split into libtinfow and libncursesw, linker 223 scripts should make it transparent for consumers. pkg-config files 224 are also now installed to ease ports detecting the ncurses setup from 225 base. 226 227a422084abbda: 228 LLVM's MemorySanitizer can now be used in amd64 kernels. See the 229 kmsan(9) manual page for more information. 230 23138da497a4dfc: 232 LLVM's AddressSanitizer can now be used in amd64 kernels. See the 233 kasan(9) manual page for more information. 234 235f39dd6a97844,23f24377b1a9,628bd30ab5a4: 236 One True Awk has been updated to the latest from upstream 237 (20210727). All the FreeBSD patches, but one, have now been 238 either up streamed or discarded. Notable changes include: 239 o Locale is no longer used for ranges 240 o Various bugs fixed 241 o Better compatibility with gawk and mawk 242 243 The one FreeBSD change, likely to be removed in FreeBSD 14, is that 244 we still allow hex numbers, prefixed with 0x, to be parsed and 245 interpreted as hex numbers while all other awks (including one 246 true awk now) interpret them as 0 in line with awk's historic 247 behavior. 248 249 A second change, less likely to be noticed, is the historic wart 250 if -Ft meaning to use hard tab characters as the field separator 251 is deprecated and will likely be removed in FreeBSD 14. 252 253ee29e6f31111: 254 Commit ee29e6f31111 added a new sysctl called vfs.nfsd.srvmaxio 255 that can be used to increase the maximum I/O size for the NFS 256 server to any power of 2 up to 1Mbyte while the nfsd(8) is not running. 257 The FreeBSD NFS client can now be set to use a 1Mbyte I/O size 258 via the vfs.maxbcachebuf tunable and the Linux NFS client 259 can also do 1Mbyte I/O. 260 kern.ipc.maxsockbuf will need to be increased. A console 261 message will suggest a setting for it. 262 263d575e81fbcfa: 264 gconcat(8) has added support for appending devices to the device 265 not present at creation time. 266 26776681661be28: 268 Remove support for asymmetric cryptographic operations from 269 the kernel open cryptographic framework (OCF). 270 271a145cf3f73c7: 272 The NFSv4 client now uses the highest minor version of NFSv4 273 supported by the NFSv4 server by default instead of minor version 0, 274 for NFSv4 mounts. 275 The "minorversion" mount option may be used to override this default. 276