1a53ce3fcSGlen BarberRelease notes for FreeBSD 14.0. 28dbc2b6eSMark Johnston 38dbc2b6eSMark JohnstonThis file describes new user-visible features, changes and updates relevant to 48dbc2b6eSMark Johnstonusers of binary FreeBSD releases. Each entry should describe the change in no 58dbc2b6eSMark Johnstonmore than several sentences and should reference manual pages where an 68dbc2b6eSMark Johnstoninterested user can find more information. Entries should wrap after 80 78dbc2b6eSMark Johnstoncolumns. Each entry should begin with one or more commit IDs on one line, 8cda1f88dSWarner Loshspecified as a comma separated list and/or range, followed by a colon and a 9cda1f88dSWarner Loshnewline. Entries should be separated by a newline. 108dbc2b6eSMark Johnston 118dbc2b6eSMark JohnstonChanges to this file should not be MFCed. 128dbc2b6eSMark Johnston 13*bb63e82eSBaptiste Daroussinff01d71e48d4: 14*bb63e82eSBaptiste Daroussin dialog(1) has been replace by bsddialog(1) 15*bb63e82eSBaptiste Daroussin 16da51a121SJohn Baldwin41582f28ddf7: 17da51a121SJohn Baldwin FreeBSD 15.0 will not include support for 32-bit platforms. 18da51a121SJohn Baldwin However, 64-bit systems will still be able to run older 32-bit 19da51a121SJohn Baldwin binaries. 20da51a121SJohn Baldwin 21da51a121SJohn Baldwin Support for executing 32-bit binaries on 64-bit platforms via 22da51a121SJohn Baldwin COMPAT_FREEBSD32 will remain supported for at least the 23da51a121SJohn Baldwin stable/15 and stable/16 branches. 24da51a121SJohn Baldwin 25da51a121SJohn Baldwin Support for compiling individual 32-bit applications via 26da51a121SJohn Baldwin `cc -m32` will also be supported for at least the stable/15 27da51a121SJohn Baldwin branch which includes suitable headers in /usr/include and 28da51a121SJohn Baldwin libraries in /usr/lib32. 29da51a121SJohn Baldwin 30da51a121SJohn Baldwin Support for 32-bit platforms in ports for 15.0 and later 31da51a121SJohn Baldwin releases is also deprecated, and these future releases may not 32da51a121SJohn Baldwin include binary packages for 32-bit platforms or support for 33da51a121SJohn Baldwin building 32-bit applications from ports. 34da51a121SJohn Baldwin 35da51a121SJohn Baldwin stable/14 and earlier branches will retain existing 32-bit 36da51a121SJohn Baldwin kernel and world support. Ports will retain existing support 37768489c7SJohn Baldwin for building ports and packages for 32-bit systems on stable/14 38da51a121SJohn Baldwin and earlier branches as long as those branches are supported 39da51a121SJohn Baldwin by the ports system. However, all 32-bit platforms are Tier-2 40da51a121SJohn Baldwin or Tier-3 and support for individual ports should be expected 41da51a121SJohn Baldwin to degrade as upstreams deprecate 32-bit platforms. 42da51a121SJohn Baldwin 43da51a121SJohn Baldwin With the current support schedule, stable/14 will be EOLed 5 44da51a121SJohn Baldwin years after the release of 14.0. The EOL of stable/14 would 45da51a121SJohn Baldwin mark the end of support for 32-bit platforms including source 46da51a121SJohn Baldwin releases, pre-built packages, and support for building 47da51a121SJohn Baldwin applications from ports. Given an estimated release date of 48da51a121SJohn Baldwin October 2023 for 14.0, support for 32-bit platforms would end 49da51a121SJohn Baldwin in October 2028. 50da51a121SJohn Baldwin 51da51a121SJohn Baldwin The project may choose to alter this approach when 15.0 is 52da51a121SJohn Baldwin released by extending some level of 32-bit support for one or 53da51a121SJohn Baldwin more platforms in 15.0 or later. Users should use the 54da51a121SJohn Baldwin stable/14 branch to migrate off of 32-bit platforms. 55da51a121SJohn Baldwin 56b9b8a476SKyle Evans3cb2f5f369ec: 57b9b8a476SKyle Evans The lua-flavored loader(8) will now interpret .lua files that appear in 58b9b8a476SKyle Evans loader_conf_files as lua, and execute them in a sandbox. Existing 59b9b8a476SKyle Evans loader environment variables are available as globals in the sandbox, 60b9b8a476SKyle Evans and any global variable set, if not a table value, will be reflected in 61b9b8a476SKyle Evans the loader environment upon successful execution of the configuration 62b9b8a476SKyle Evans file. Environment variables with names that aren't valid lua names may 63b9b8a476SKyle Evans be accessed as indices of _ENV; e.g., _ENV['net.fibs']. 64b9b8a476SKyle Evans 656a8d4071SWarner Loshbdc81eeda05d: 666a8d4071SWarner Losh nda is now the default nvme device on all platforms. While nda creates 676a8d4071SWarner Losh nvd links by default so fstab, etc continues to work, configuration 686a8d4071SWarner Losh should be updated to the new nda devices. 696a8d4071SWarner Losh 706a8d4071SWarner Losh To restore the old behavior, add hw.nvme.use_nvd=1 to loader.conf or 716a8d4071SWarner Losh `options NVME_USE_NVD=1` to the kernel config. To disable the nvd 726a8d4071SWarner Losh compatibility aliases, add kern.cam.nda.nvd_compat=0 to loader.conf. 736a8d4071SWarner Losh 741186ef86SMike Karelsbbb2d2ce4220: 751186ef86SMike Karels Change pw (hence bsdinstall) not to move /home to /usr/home. 761186ef86SMike Karels Previously, when creating the path to home directories, pw 771186ef86SMike Karels would move any path in the root directory under /usr, creating 781186ef86SMike Karels a symlink in root. In particular, the default /home would become 791186ef86SMike Karels /usr/home. Now /home is at the top level by default. /usr/home 801186ef86SMike Karels can be used explicitly. 811186ef86SMike Karels 82af8e0a60SElliott Mitchell3416e102c4e9: 831d735524SEmmanuel Vadot Remove TI code from armv7 GENERIC kernel. 841d735524SEmmanuel Vadot This code doesn't cope with newer DTS and hasn't in a long time so 851d735524SEmmanuel Vadot support for TI armv7 platform (like BeagleBone and Pandaboard) is now 861d735524SEmmanuel Vadot removed from GENERIC. 871d735524SEmmanuel Vadot 88af8e0a60SElliott Mitchelld198b8774d2c: 89f15b2e1aSEmmanuel Vadot Add a new "fwget" utility. 90f15b2e1aSEmmanuel Vadot The goal of this utility is to inspect the system for peripherals 91f15b2e1aSEmmanuel Vadot that needs firmware and install the appropriate packages for them. 92f15b2e1aSEmmanuel Vadot For now only pci subsystem is supported and only firmwares for Intel 93f15b2e1aSEmmanuel Vadot and AMD GPUs are known. 94f15b2e1aSEmmanuel Vadot 95af8e0a60SElliott Mitchell896516e54a8c: 9689d197ccSRick Macklem Add a new "syskrb5" mount option for Kerberized NFSv4.1/4.2 mounts. 9789d197ccSRick Macklem Without this patch, a Kerberized NFSv4.1/4.2 mount must provide 9889d197ccSRick Macklem a Kerberos credential for the client at mount time. 9989d197ccSRick Macklem This patch uses a feature of NFSv4.1/4.2 called SP4_NONE, which 10089d197ccSRick Macklem allows the state maintenance operations to be performed by any 10189d197ccSRick Macklem authentication mechanism, so that these operations may be done via 10289d197ccSRick Macklem AUTH_SYS instead of RPCSEC_GSS (KerberosV). As such, no Kerberos 10389d197ccSRick Macklem credential is required at mount time. 10489d197ccSRick Macklem See mount_nfs(8). 10589d197ccSRick Macklem 106af8e0a60SElliott Mitchell330aa8acdec7,ff2f1f691cdb: 10789d197ccSRick Macklem Adds support for the SP4_MACH_CRED case for the 10889d197ccSRick Macklem NFSv4.1/4.2 ExchangeID operation since the Linux 10989d197ccSRick Macklem NFSv4.1/4.2 client is now using this for Kerberized mounts. 11089d197ccSRick Macklem This change should only affect Kerberized NFSv4.1/4.2 mounts. 11189d197ccSRick Macklem The Linux Kerberized NFSv4.1/4.2 mounts currently work without 11289d197ccSRick Macklem support for this because Linux will fall back to SP4_NONE, 11389d197ccSRick Macklem but there is no guarantee this fallback will work forever. 11489d197ccSRick Macklem 11584eac070SRick Macklem7344856e3a6d and many others: 11684eac070SRick Macklem Add support so that nfsd(8), nfsuserd(8), mountd(8), gssd(8) 11784eac070SRick Macklem and rpc.tlsservd(8) can be run in an appropriately configured 11884eac070SRick Macklem vnet prison. The vnet prison must be on its own file system, 11984eac070SRick Macklem have the "allow.nfsd" jail parameter set on it and enforce_statfs 12084eac070SRick Macklem cannot be set to "0". Use of UDP and pNFS server configurations 12184eac070SRick Macklem are not permitted. (ie. The nfsd command line options "-u", "-p" 12284eac070SRick Macklem and "-m" are not supported.) 12384eac070SRick Macklem See jail(8), nfsd(8) and mountd(8). 12484eac070SRick Macklem 12517c82135SGregory Neil Shapiro2fb4f839f3fc,d89513ed2050,3413ee88c39d,f97a19ecb985,021562c5020d,431d2a81d421: 12617c82135SGregory Neil Shapiro sendmail has been updated to the latest upstream version (8.17.1). 12717c82135SGregory Neil Shapiro 1288d0ed566SMike Karels4a30d7bb373c,d670a8f7c596,af01b4722577,4e240e55d818: 1298d0ed566SMike Karels The growfs(7) script can now add a swap partition at the end of 1308d0ed566SMike Karels the expansion area, and does so by default if there is no existing 1318d0ed566SMike Karels swap. See growfs(7). 1328d0ed566SMike Karels 133f1628146SEd Maste86edb11e7491: 134501edb1cSKenta Kubo llvm-objdump is now always installed as objdump. 135f1628146SEd Maste 136882fc6daSBaptiste Daroussin616f32ea6da7: 137882fc6daSBaptiste Daroussin mta_start_script along with othermta rc.d script has been retired. 138882fc6daSBaptiste Daroussin 1394d184bd4SBaptiste Daroussina67b925ff3e5: 1404d184bd4SBaptiste Daroussin The default mail transport agent is now dma(8) replacing sendmail. 1414d184bd4SBaptiste Daroussin 1423c62f0f6SKristof Provost22893e584032: 1433c62f0f6SKristof Provost L3 filtering on if_bridge will do surprising things which aren't 1443c62f0f6SKristof Provost fail-safe, so net.link.bridge.pfil_member and 1453c62f0f6SKristof Provost net.link.bridge.pfil_bridge now default to zero. 1463c62f0f6SKristof Provost 1472e5699fbSMark Johnstonf0bc4ed144fc: 1482e5699fbSMark Johnston A new DTrace provider, kinst, is introduced and documented in 1492e5699fbSMark Johnston dtrace_kinst(4). The provider allows kernel instructions to be traced, 1502e5699fbSMark Johnston similar to the FBT (function boundary tracing) provider except that all 1512e5699fbSMark Johnston instructions may be probed instead of logical entry and return 1522e5699fbSMark Johnston instructions. The provider is currently amd64-only. 1532e5699fbSMark Johnston 154d2c839eeSDag-Erling Smørgrav0aa2700123e2: 155d2c839eeSDag-Erling Smørgrav OPIE has been removed from the base system. If you still wish 156d2c839eeSDag-Erling Smørgrav to use it, install the security/opie port. Otherwise, make 157d2c839eeSDag-Erling Smørgrav sure to remove or comment out any mention of pam_opie and 158d2c839eeSDag-Erling Smørgrav pam_opieaccess from your PAM policies (etcupdate will normally 159d2c839eeSDag-Erling Smørgrav take care of this for the stock policies). 160d2c839eeSDag-Erling Smørgrav 1619bbed3f6SBrooks Davis0eea46fb1f83: 1629bbed3f6SBrooks Davis Removed telnetd. 1639bbed3f6SBrooks Davis 164e7d9290fSRick Macklem981ef32230b2,33721eb991d8: 165e7d9290fSRick Macklem These commits make the use of NFSv4.1/4.2 mounts with the "intr" 166e7d9290fSRick Macklem mount option fairly usable, although not 100% correct, so long as 167e7d9290fSRick Macklem the "nolockd" mount option is used as well. See the mount_nfs(8) 168e7d9290fSRick Macklem manual page for more information. 169e7d9290fSRick Macklem 17085c11f80SRick Macklemb875d4f5ddcb,0685c73cfe88: 17185c11f80SRick Macklem The NFSv4.1/4.2 client and server will now generate console messages 17285c11f80SRick Macklem if sessions are broken, suggesting that users check to ensure 17385c11f80SRick Macklem that the /etc/hostid strings are unique for all NFSv4.1/4.2 clients. 17485c11f80SRick Macklem 175c39eecd8SMark Johnston240afd8c1fcc: 176c39eecd8SMark Johnston makefs(8) has ZFS support; it can create a ZFS pool, backed by a 177c39eecd8SMark Johnston single disk vdev, containing one or more datasets populated from 178c39eecd8SMark Johnston the staging directory. 179c39eecd8SMark Johnston 1804cb0d41cSMark Johnston78ee8d1c4cda,f4f56ff43dbd: 1814cb0d41cSMark Johnston The in-tree qat(4) driver has been replaced with Intel's QAT driver. 1824cb0d41cSMark Johnston The new version provides additional interfaces to the chipset's 1834cb0d41cSMark Johnston cryptographic and compression offload functionality. 1844cb0d41cSMark Johnston 1854cb0d41cSMark Johnston This will have no visible change for most users; however, the new 1864cb0d41cSMark Johnston driver does not support Atom C2000 chipsets. To preserve support for 1874cb0d41cSMark Johnston those chipsets, the old driver has been renamed to qat_c2xxx and kept 1884cb0d41cSMark Johnston in the tree. Users of qat(4) on C2000 hardware will thus need to 1894cb0d41cSMark Johnston ensure that qat_c2xxx(4) is loaded instead of qat(4). 1904cb0d41cSMark Johnston 191c71a534eSMateusz Piotrowskida5b7e90e740,5a8fceb3bd9f,7b0a665d72c0,13ec1e3155c7,318d0db5fe8a,1ae2c59bcf21: 192c71a534eSMateusz Piotrowski Boottrace is a new kernel-userspace interface for capturing trace 193c71a534eSMateusz Piotrowski events during system boot and shutdown. Event annotations are 194c71a534eSMateusz Piotrowski present in: 195c71a534eSMateusz Piotrowski 196c71a534eSMateusz Piotrowski - The boot and shutdown paths in the kernel 197c71a534eSMateusz Piotrowski - Some key system utilities (init(8), shutdown(8), reboot(8)) 198c71a534eSMateusz Piotrowski - rc(8) scripts (via boottrace(8)) 199c71a534eSMateusz Piotrowski 200c71a534eSMateusz Piotrowski In contrast to other existing boot-time tracing facilities like TSLOG, 201c71a534eSMateusz Piotrowski Boottrace focuses on the ease of use and is aimed primarily at system 202c71a534eSMateusz Piotrowski administrators. 203c71a534eSMateusz Piotrowski 204c71a534eSMateusz Piotrowski It is available in the default GENERIC kernel and can be enabled by 205c71a534eSMateusz Piotrowski toggling a single sysctl(8) variable. 206c71a534eSMateusz Piotrowski 207c71a534eSMateusz Piotrowski See boottrace(4) for more details. 208c71a534eSMateusz Piotrowski 209253ecb38SJohn Baldwin05a1d0f5d7ac: 210253ecb38SJohn Baldwin Kernel TLS offload now supports receive-side offload of TLS 1.3. 211253ecb38SJohn Baldwin 21276fe9df7SKristof Provost19dc64451179: 21376fe9df7SKristof Provost if_stf now supports 6rd (RFC5969). 21476fe9df7SKristof Provost 215e383c423SCy Schubertc1d255d3ffdb, 3968b47cd974, bd452dcbede6: 216e383c423SCy Schubert Add WiFi 6 support to wpa. 217e383c423SCy Schubert 21822b1cbecSCy Schubertba48d52ca6c8,4ac3d08a9693,2533eca1c2b9: 21922b1cbecSCy Schubert The default bell tone is now 800Hz. It may be set with kbdcontrol 22022b1cbecSCy Schubert again. There's devd integration for people wishing to use their sound 22122b1cbecSCy Schubert cards for the beep. 222aa80581cSWarner Losh 223b788a226SGleb Smirnoff92b3e07229ba: 224b788a226SGleb Smirnoff net.inet.tcp.nolocaltimewait enabled by default. It prevents 225b788a226SGleb Smirnoff creation of timewait entries for TCP connections that were 226b788a226SGleb Smirnoff terminated locally. 227b788a226SGleb Smirnoff 228cfd8fda1SElliott Mitchelld410b585b6f0: 2291fca3dcaSBaptiste Daroussin sh(1) is now the default shell for the root user. 2301fca3dcaSBaptiste Daroussin 231cfd8fda1SElliott Mitchell396851c20aeb: 2325aeb2600SBaptiste Daroussin libncursesw has been split into libtinfow and libncursesw, linker 2335aeb2600SBaptiste Daroussin scripts should make it transparent for consumers. pkg-config files 2345aeb2600SBaptiste Daroussin are also now installed to ease ports detecting the ncurses setup from 2355aeb2600SBaptiste Daroussin base. 2365aeb2600SBaptiste Daroussin 237cfd8fda1SElliott Mitchella422084abbda: 23805eba8e0SMark Johnston LLVM's MemorySanitizer can now be used in amd64 kernels. See the 23905eba8e0SMark Johnston kmsan(9) manual page for more information. 24005eba8e0SMark Johnston 24105eba8e0SMark Johnston38da497a4dfc: 24205eba8e0SMark Johnston LLVM's AddressSanitizer can now be used in amd64 kernels. See the 24305eba8e0SMark Johnston kasan(9) manual page for more information. 24405eba8e0SMark Johnston 245818edf67SWarner Loshf39dd6a97844,23f24377b1a9,628bd30ab5a4: 24659b83c47SWarner Losh One True Awk has been updated to the latest from upstream 247818edf67SWarner Losh (20210727). All the FreeBSD patches, but one, have now been 24859b83c47SWarner Losh either up streamed or discarded. Notable changes include: 24959b83c47SWarner Losh o Locale is no longer used for ranges 25059b83c47SWarner Losh o Various bugs fixed 25159b83c47SWarner Losh o Better compatibility with gawk and mawk 25259b83c47SWarner Losh 25359b83c47SWarner Losh The one FreeBSD change, likely to be removed in FreeBSD 14, is that 25459b83c47SWarner Losh we still allow hex numbers, prefixed with 0x, to be parsed and 25559b83c47SWarner Losh interpreted as hex numbers while all other awks (including one 25659b83c47SWarner Losh true awk now) interpret them as 0 in line with awk's historic 25759b83c47SWarner Losh behavior. 25859b83c47SWarner Losh 259818edf67SWarner Losh A second change, less likely to be noticed, is the historic wart 260818edf67SWarner Losh if -Ft meaning to use hard tab characters as the field separator 261818edf67SWarner Losh is deprecated and will likely be removed in FreeBSD 14. 262818edf67SWarner Losh 263cda1f88dSWarner Loshee29e6f31111: 264be7c6470SRick Macklem Commit ee29e6f31111 added a new sysctl called vfs.nfsd.srvmaxio 265be7c6470SRick Macklem that can be used to increase the maximum I/O size for the NFS 266be7c6470SRick Macklem server to any power of 2 up to 1Mbyte while the nfsd(8) is not running. 267be7c6470SRick Macklem The FreeBSD NFS client can now be set to use a 1Mbyte I/O size 268be7c6470SRick Macklem via the vfs.maxbcachebuf tunable and the Linux NFS client 269be7c6470SRick Macklem can also do 1Mbyte I/O. 270be7c6470SRick Macklem kern.ipc.maxsockbuf will need to be increased. A console 271be7c6470SRick Macklem message will suggest a setting for it. 272be7c6470SRick Macklem 273cda1f88dSWarner Loshd575e81fbcfa: 274df4e9787SWarner Losh gconcat(8) has added support for appending devices to the device 275df4e9787SWarner Losh not present at creation time. 276dd3fd6b8SWarner Losh 277cda1f88dSWarner Losh76681661be28: 2781f64f32aSJohn Baldwin Remove support for asymmetric cryptographic operations from 27906cdfe2dSJohn Baldwin the kernel open cryptographic framework (OCF). 280b49ba74dSRick Macklem 281cda1f88dSWarner Losha145cf3f73c7: 282b49ba74dSRick Macklem The NFSv4 client now uses the highest minor version of NFSv4 283b49ba74dSRick Macklem supported by the NFSv4 server by default instead of minor version 0, 284b49ba74dSRick Macklem for NFSv4 mounts. 285b49ba74dSRick Macklem The "minorversion" mount option may be used to override this default. 286