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