xref: /freebsd-14.2/RELNOTES (revision b8722a22)
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*b8722a22SBaptiste Daroussinc333758fca3e:
14*b8722a22SBaptiste Daroussin	new MAC/do policy and mdo(1) utility which enables a user to
15*b8722a22SBaptiste Daroussin	become another user without the requirement of setuid root.
16*b8722a22SBaptiste Daroussin
1778c209d4SMateusz Piotrowskieeb04a736cb9:
1878c209d4SMateusz Piotrowski	date(1) now supports nanoseconds. For example:
1978c209d4SMateusz Piotrowski	`date -Ins` prints "2024-04-22T12:20:28,763742224+02:00" and
2078c209d4SMateusz Piotrowski	`date +%N` prints "415050400".
2178c209d4SMateusz Piotrowski
2236588782SBaptiste Daroussin7b9a772f9f64:
2336588782SBaptiste Daroussin	usbconfig(8) now reads the descriptions of the usb vendor and products
2436588782SBaptiste Daroussin	from usb.ids when available, similarly to what pciconf(8) does.
2536588782SBaptiste Daroussin
2610f1eebdSWarner Loshdaf917daba9c:
2710f1eebdSWarner Losh	One True Awk updated to 2nd Edition with new -csv support and UTF-8
28e36906acSWarner Losh	support. See https://awk.dev for more details.
2910f1eebdSWarner Losh
30cce1cbbeSRick Macklemb8e137d8d32d:
31cce1cbbeSRick Macklem	This commit added some statistics collection to the NFS-over-TLS
32cce1cbbeSRick Macklem	code in the NFS server so that sysadmins can moditor usage.
33cce1cbbeSRick Macklem	The statistics are available via the kern.rpc.tls.* sysctls.
34cce1cbbeSRick Macklem
35da51a121SJohn Baldwin41582f28ddf7:
36da51a121SJohn Baldwin	FreeBSD 15.0 will not include support for 32-bit platforms.
37da51a121SJohn Baldwin	However, 64-bit systems will still be able to run older 32-bit
38da51a121SJohn Baldwin	binaries.
39da51a121SJohn Baldwin
40da51a121SJohn Baldwin	Support for executing 32-bit binaries on 64-bit platforms via
41da51a121SJohn Baldwin	COMPAT_FREEBSD32 will remain supported for at least the
42da51a121SJohn Baldwin	stable/15 and stable/16 branches.
43da51a121SJohn Baldwin
44da51a121SJohn Baldwin	Support for compiling individual 32-bit applications via
45da51a121SJohn Baldwin	`cc -m32` will also be supported for at least the stable/15
46da51a121SJohn Baldwin	branch which includes suitable headers in /usr/include and
47da51a121SJohn Baldwin	libraries in /usr/lib32.
48da51a121SJohn Baldwin
49da51a121SJohn Baldwin	Support for 32-bit platforms in ports for 15.0 and later
50da51a121SJohn Baldwin	releases is also deprecated, and these future releases may not
51da51a121SJohn Baldwin	include binary packages for 32-bit platforms or support for
52da51a121SJohn Baldwin	building 32-bit applications from ports.
53da51a121SJohn Baldwin
54da51a121SJohn Baldwin	stable/14 and earlier branches will retain existing 32-bit
55da51a121SJohn Baldwin	kernel and world support.  Ports will retain existing support
56768489c7SJohn Baldwin	for building ports and packages for 32-bit systems on stable/14
57da51a121SJohn Baldwin	and earlier branches as long as those branches are supported
58da51a121SJohn Baldwin	by the ports system.  However, all 32-bit platforms are Tier-2
59da51a121SJohn Baldwin	or Tier-3 and support for individual ports should be expected
60da51a121SJohn Baldwin	to degrade as upstreams deprecate 32-bit platforms.
61da51a121SJohn Baldwin
62da51a121SJohn Baldwin	With the current support schedule, stable/14 will be EOLed 5
63da51a121SJohn Baldwin	years after the release of 14.0.  The EOL of stable/14 would
64da51a121SJohn Baldwin	mark the end of support for 32-bit platforms including source
65da51a121SJohn Baldwin	releases, pre-built packages, and support for building
66da51a121SJohn Baldwin	applications from ports.  Given an estimated release date of
67da51a121SJohn Baldwin	October 2023 for 14.0, support for 32-bit platforms would end
68da51a121SJohn Baldwin	in October 2028.
69da51a121SJohn Baldwin
70da51a121SJohn Baldwin	The project may choose to alter this approach when 15.0 is
71da51a121SJohn Baldwin	released by extending some level of 32-bit support for one or
72da51a121SJohn Baldwin	more platforms in 15.0 or later.  Users should use the
73da51a121SJohn Baldwin	stable/14 branch to migrate off of 32-bit platforms.
74da51a121SJohn Baldwin
75b9b8a476SKyle Evans3cb2f5f369ec:
76b9b8a476SKyle Evans	The lua-flavored loader(8) will now interpret .lua files that appear in
77b9b8a476SKyle Evans	loader_conf_files as lua, and execute them in a sandbox.  Existing
78b9b8a476SKyle Evans	loader environment variables are available as globals in the sandbox,
79b9b8a476SKyle Evans	and any global variable set, if not a table value, will be reflected in
80b9b8a476SKyle Evans	the loader environment upon successful execution of the configuration
81b9b8a476SKyle Evans	file.  Environment variables with names that aren't valid lua names may
82b9b8a476SKyle Evans	be accessed as indices of _ENV; e.g., _ENV['net.fibs'].
83b9b8a476SKyle Evans
846a8d4071SWarner Loshbdc81eeda05d:
856a8d4071SWarner Losh	nda is now the default nvme device on all platforms. While nda creates
866a8d4071SWarner Losh	nvd links by default so fstab, etc continues to work, configuration
876a8d4071SWarner Losh	should be updated to the new nda devices.
886a8d4071SWarner Losh
896a8d4071SWarner Losh	To restore the old behavior, add hw.nvme.use_nvd=1 to loader.conf or
906a8d4071SWarner Losh	`options NVME_USE_NVD=1` to the kernel config.  To disable the nvd
916a8d4071SWarner Losh	compatibility aliases, add kern.cam.nda.nvd_compat=0 to loader.conf.
926a8d4071SWarner Losh
931186ef86SMike Karelsbbb2d2ce4220:
941186ef86SMike Karels	Change pw (hence bsdinstall) not to move /home to /usr/home.
951186ef86SMike Karels	Previously, when creating the path to home directories, pw
961186ef86SMike Karels	would move any path in the root directory under /usr, creating
971186ef86SMike Karels	a symlink in root.  In particular, the default /home would become
981186ef86SMike Karels	/usr/home.  Now /home is at the top level by default.  /usr/home
991186ef86SMike Karels	can be used explicitly.
1001186ef86SMike Karels
101af8e0a60SElliott Mitchell3416e102c4e9:
1021d735524SEmmanuel Vadot	Remove TI code from armv7 GENERIC kernel.
1031d735524SEmmanuel Vadot	This code doesn't cope with newer DTS and hasn't in a long time so
1041d735524SEmmanuel Vadot	support for TI armv7 platform (like BeagleBone and Pandaboard) is now
1051d735524SEmmanuel Vadot	removed from GENERIC.
1061d735524SEmmanuel Vadot
107af8e0a60SElliott Mitchelld198b8774d2c:
108f15b2e1aSEmmanuel Vadot	Add a new "fwget" utility.
109f15b2e1aSEmmanuel Vadot	The goal of this utility is to inspect the system for peripherals
110f15b2e1aSEmmanuel Vadot	that needs firmware and install the appropriate packages for them.
111f15b2e1aSEmmanuel Vadot	For now only pci subsystem is supported and only firmwares for Intel
112f15b2e1aSEmmanuel Vadot	and AMD GPUs are known.
113f15b2e1aSEmmanuel Vadot
114af8e0a60SElliott Mitchell896516e54a8c:
11589d197ccSRick Macklem	Add a new "syskrb5" mount option for Kerberized NFSv4.1/4.2 mounts.
11689d197ccSRick Macklem	Without this patch, a Kerberized NFSv4.1/4.2 mount must provide
11789d197ccSRick Macklem	a Kerberos credential for the client at mount time.
11889d197ccSRick Macklem	This patch uses a feature of NFSv4.1/4.2 called SP4_NONE, which
11989d197ccSRick Macklem	allows the state maintenance operations to be performed by any
12089d197ccSRick Macklem	authentication mechanism, so that these operations may be done via
12189d197ccSRick Macklem	AUTH_SYS instead of RPCSEC_GSS (KerberosV).  As such, no Kerberos
12289d197ccSRick Macklem	credential is required at mount time.
12389d197ccSRick Macklem	See mount_nfs(8).
12489d197ccSRick Macklem
125af8e0a60SElliott Mitchell330aa8acdec7,ff2f1f691cdb:
12689d197ccSRick Macklem	Adds support for the SP4_MACH_CRED case for the
12789d197ccSRick Macklem	NFSv4.1/4.2 ExchangeID operation since the Linux
12889d197ccSRick Macklem	NFSv4.1/4.2 client is now using this for Kerberized mounts.
12989d197ccSRick Macklem	This change should only affect Kerberized NFSv4.1/4.2 mounts.
13089d197ccSRick Macklem	The Linux Kerberized NFSv4.1/4.2 mounts currently work without
13189d197ccSRick Macklem	support for this because Linux will fall back to SP4_NONE,
13289d197ccSRick Macklem	but there is no guarantee this fallback will work forever.
13389d197ccSRick Macklem
13484eac070SRick Macklem7344856e3a6d and many others:
13584eac070SRick Macklem	Add support so that nfsd(8), nfsuserd(8), mountd(8), gssd(8)
13684eac070SRick Macklem	and rpc.tlsservd(8) can be run in an appropriately configured
13784eac070SRick Macklem	vnet prison.  The vnet prison must be on its own file system,
13884eac070SRick Macklem	have the "allow.nfsd" jail parameter set on it and enforce_statfs
13984eac070SRick Macklem	cannot be set to "0".  Use of UDP and pNFS server configurations
14084eac070SRick Macklem	are not permitted.  (ie. The nfsd command line options "-u", "-p"
14184eac070SRick Macklem	and "-m" are not supported.)
14284eac070SRick Macklem	See jail(8), nfsd(8) and mountd(8).
14384eac070SRick Macklem
14417c82135SGregory Neil Shapiro2fb4f839f3fc,d89513ed2050,3413ee88c39d,f97a19ecb985,021562c5020d,431d2a81d421:
14517c82135SGregory Neil Shapiro	sendmail has been updated to the latest upstream version (8.17.1).
14617c82135SGregory Neil Shapiro
1478d0ed566SMike Karels4a30d7bb373c,d670a8f7c596,af01b4722577,4e240e55d818:
1488d0ed566SMike Karels	The growfs(7) script can now add a swap partition at the end of
1498d0ed566SMike Karels	the expansion area, and does so by default if there is no existing
1508d0ed566SMike Karels	swap.  See growfs(7).
1518d0ed566SMike Karels
152f1628146SEd Maste86edb11e7491:
1530de10f10SKenta Kubo	llvm-objdump is now always installed as objdump.
154f1628146SEd Maste
155882fc6daSBaptiste Daroussin616f32ea6da7:
156882fc6daSBaptiste Daroussin	mta_start_script along with othermta rc.d script has been retired.
157882fc6daSBaptiste Daroussin
1584d184bd4SBaptiste Daroussina67b925ff3e5:
1594d184bd4SBaptiste Daroussin	The default mail transport agent is now dma(8) replacing sendmail.
1604d184bd4SBaptiste Daroussin
1613c62f0f6SKristof Provost22893e584032:
1623c62f0f6SKristof Provost	L3 filtering on if_bridge will do surprising things which aren't
1633c62f0f6SKristof Provost	fail-safe, so net.link.bridge.pfil_member and
1643c62f0f6SKristof Provost	net.link.bridge.pfil_bridge now default to zero.
1653c62f0f6SKristof Provost
1662e5699fbSMark Johnstonf0bc4ed144fc:
1672e5699fbSMark Johnston	A new DTrace provider, kinst, is introduced and documented in
1682e5699fbSMark Johnston	dtrace_kinst(4).  The provider allows kernel instructions to be traced,
1692e5699fbSMark Johnston	similar to the FBT (function boundary tracing) provider except that all
1702e5699fbSMark Johnston	instructions may be probed instead of logical entry and return
1712e5699fbSMark Johnston	instructions.  The provider is currently amd64-only.
1722e5699fbSMark Johnston
1732e38377fSDag-Erling Smørgrav0aa2700123e2:
1742e38377fSDag-Erling Smørgrav	OPIE has been removed from the base system.  If you still wish
1752e38377fSDag-Erling Smørgrav	to use it, install the security/opie port.  Otherwise, make
1762e38377fSDag-Erling Smørgrav	sure to remove or comment out any mention of pam_opie and
1772e38377fSDag-Erling Smørgrav	pam_opieaccess from your PAM policies (etcupdate will normally
1782e38377fSDag-Erling Smørgrav	take care of this for the stock policies).
1792e38377fSDag-Erling Smørgrav
1809bbed3f6SBrooks Davis0eea46fb1f83:
1819bbed3f6SBrooks Davis	Removed telnetd.
1829bbed3f6SBrooks Davis
183e7d9290fSRick Macklem981ef32230b2,33721eb991d8:
184e7d9290fSRick Macklem	These commits make the use of NFSv4.1/4.2 mounts with the "intr"
185e7d9290fSRick Macklem	mount option fairly usable, although not 100% correct, so long as
186e7d9290fSRick Macklem	the "nolockd" mount option is used as well.  See the mount_nfs(8)
187e7d9290fSRick Macklem	manual page for more information.
188e7d9290fSRick Macklem
18985c11f80SRick Macklemb875d4f5ddcb,0685c73cfe88:
19085c11f80SRick Macklem	The NFSv4.1/4.2 client and server will now generate console messages
19185c11f80SRick Macklem	if sessions are broken, suggesting that users check to ensure
19285c11f80SRick Macklem	that the /etc/hostid strings are unique for all NFSv4.1/4.2 clients.
19385c11f80SRick Macklem
194c39eecd8SMark Johnston240afd8c1fcc:
195c39eecd8SMark Johnston	makefs(8) has ZFS support; it can create a ZFS pool, backed by a
196c39eecd8SMark Johnston	single disk vdev, containing one or more datasets populated from
197c39eecd8SMark Johnston	the staging directory.
198c39eecd8SMark Johnston
1994cb0d41cSMark Johnston78ee8d1c4cda,f4f56ff43dbd:
2004cb0d41cSMark Johnston	The in-tree qat(4) driver has been replaced with Intel's QAT driver.
2014cb0d41cSMark Johnston	The new version provides additional interfaces to the chipset's
2024cb0d41cSMark Johnston	cryptographic and compression offload functionality.
2034cb0d41cSMark Johnston
2044cb0d41cSMark Johnston	This will have no visible change for most users; however, the new
2054cb0d41cSMark Johnston	driver does not support Atom C2000 chipsets.  To preserve support for
2064cb0d41cSMark Johnston	those chipsets, the old driver has been renamed to qat_c2xxx and kept
2074cb0d41cSMark Johnston	in the tree.  Users of qat(4) on C2000 hardware will thus need to
2084cb0d41cSMark Johnston	ensure that qat_c2xxx(4) is loaded instead of qat(4).
2094cb0d41cSMark Johnston
210c71a534eSMateusz Piotrowskida5b7e90e740,5a8fceb3bd9f,7b0a665d72c0,13ec1e3155c7,318d0db5fe8a,1ae2c59bcf21:
211c71a534eSMateusz Piotrowski	Boottrace is a new kernel-userspace interface for capturing trace
212c71a534eSMateusz Piotrowski	events during system boot and shutdown. Event annotations are
213c71a534eSMateusz Piotrowski	present in:
214c71a534eSMateusz Piotrowski
215c71a534eSMateusz Piotrowski	- The boot and shutdown paths in the kernel
216c71a534eSMateusz Piotrowski	- Some key system utilities (init(8), shutdown(8), reboot(8))
217c71a534eSMateusz Piotrowski	- rc(8) scripts (via boottrace(8))
218c71a534eSMateusz Piotrowski
219c71a534eSMateusz Piotrowski	In contrast to other existing boot-time tracing facilities like TSLOG,
220c71a534eSMateusz Piotrowski	Boottrace focuses on the ease of use and is aimed primarily at system
221c71a534eSMateusz Piotrowski	administrators.
222c71a534eSMateusz Piotrowski
223c71a534eSMateusz Piotrowski	It is available in the default GENERIC kernel and can be enabled by
224c71a534eSMateusz Piotrowski	toggling a single sysctl(8) variable.
225c71a534eSMateusz Piotrowski
226c71a534eSMateusz Piotrowski	See boottrace(4) for more details.
227c71a534eSMateusz Piotrowski
228253ecb38SJohn Baldwin05a1d0f5d7ac:
229253ecb38SJohn Baldwin	Kernel TLS offload now supports receive-side offload of TLS 1.3.
230253ecb38SJohn Baldwin
23176fe9df7SKristof Provost19dc64451179:
23276fe9df7SKristof Provost	if_stf now supports 6rd (RFC5969).
23376fe9df7SKristof Provost
234e383c423SCy Schubertc1d255d3ffdb, 3968b47cd974, bd452dcbede6:
235e383c423SCy Schubert	Add WiFi 6 support to wpa.
236e383c423SCy Schubert
23722b1cbecSCy Schubertba48d52ca6c8,4ac3d08a9693,2533eca1c2b9:
23822b1cbecSCy Schubert	The default bell tone is now 800Hz. It may be set with kbdcontrol
23922b1cbecSCy Schubert	again. There's devd integration for people wishing to use their sound
24022b1cbecSCy Schubert	cards for the beep.
241aa80581cSWarner Losh
242b788a226SGleb Smirnoff92b3e07229ba:
243b788a226SGleb Smirnoff	net.inet.tcp.nolocaltimewait enabled by default.  It prevents
244b788a226SGleb Smirnoff	creation of timewait entries for TCP connections that were
245b788a226SGleb Smirnoff	terminated locally.
246b788a226SGleb Smirnoff
247cfd8fda1SElliott Mitchelld410b585b6f0:
2481fca3dcaSBaptiste Daroussin	sh(1) is now the default shell for the root user.
2491fca3dcaSBaptiste Daroussin
250cfd8fda1SElliott Mitchell396851c20aeb:
2515aeb2600SBaptiste Daroussin	libncursesw has been split into libtinfow and libncursesw, linker
2525aeb2600SBaptiste Daroussin	scripts should make it transparent for consumers. pkg-config files
2535aeb2600SBaptiste Daroussin	are also now installed to ease ports detecting the ncurses setup from
2545aeb2600SBaptiste Daroussin	base.
2555aeb2600SBaptiste Daroussin
256cfd8fda1SElliott Mitchella422084abbda:
25705eba8e0SMark Johnston	LLVM's MemorySanitizer can now be used in amd64 kernels.  See the
25805eba8e0SMark Johnston	kmsan(9) manual page for more information.
25905eba8e0SMark Johnston
26005eba8e0SMark Johnston38da497a4dfc:
26105eba8e0SMark Johnston	LLVM's AddressSanitizer can now be used in amd64 kernels.  See the
26205eba8e0SMark Johnston	kasan(9) manual page for more information.
26305eba8e0SMark Johnston
264818edf67SWarner Loshf39dd6a97844,23f24377b1a9,628bd30ab5a4:
26559b83c47SWarner Losh	One True Awk has been updated to the latest from upstream
266818edf67SWarner Losh	(20210727). All the FreeBSD patches, but one, have now been
26759b83c47SWarner Losh	either up streamed or discarded.  Notable changes include:
26859b83c47SWarner Losh		o Locale is no longer used for ranges
26959b83c47SWarner Losh		o Various bugs fixed
27059b83c47SWarner Losh		o Better compatibility with gawk and mawk
27159b83c47SWarner Losh
27259b83c47SWarner Losh	The one FreeBSD change, likely to be removed in FreeBSD 14, is that
27359b83c47SWarner Losh	we still allow hex numbers, prefixed with 0x, to be parsed and
27459b83c47SWarner Losh	interpreted as hex numbers while all other awks (including one
27559b83c47SWarner Losh	true awk now) interpret them as 0 in line with awk's historic
27659b83c47SWarner Losh	behavior.
27759b83c47SWarner Losh
278818edf67SWarner Losh	A second change, less likely to be noticed, is the historic wart
279818edf67SWarner Losh	if -Ft meaning to use hard tab characters as the field separator
280818edf67SWarner Losh	is deprecated and will likely be removed in FreeBSD 14.
281818edf67SWarner Losh
282cda1f88dSWarner Loshee29e6f31111:
283be7c6470SRick Macklem	Commit ee29e6f31111 added a new sysctl called vfs.nfsd.srvmaxio
284be7c6470SRick Macklem	that can be used to increase the maximum I/O size for the NFS
285be7c6470SRick Macklem	server to any power of 2 up to 1Mbyte while the nfsd(8) is not running.
286be7c6470SRick Macklem	The FreeBSD NFS client can now be set to use a 1Mbyte I/O size
287be7c6470SRick Macklem	via the vfs.maxbcachebuf tunable and the Linux NFS client
288be7c6470SRick Macklem	can also do 1Mbyte I/O.
289be7c6470SRick Macklem	kern.ipc.maxsockbuf will need to be increased.  A console
290be7c6470SRick Macklem	message will suggest a setting for it.
291be7c6470SRick Macklem
292cda1f88dSWarner Loshd575e81fbcfa:
293df4e9787SWarner Losh	gconcat(8) has added support for appending devices to the device
294df4e9787SWarner Losh	not present at creation time.
295dd3fd6b8SWarner Losh
296cda1f88dSWarner Losh76681661be28:
2971f64f32aSJohn Baldwin	Remove support for asymmetric cryptographic operations from
29806cdfe2dSJohn Baldwin	the kernel open cryptographic framework (OCF).
299b49ba74dSRick Macklem
300cda1f88dSWarner Losha145cf3f73c7:
301b49ba74dSRick Macklem	The NFSv4 client now uses the highest minor version of NFSv4
302b49ba74dSRick Macklem	supported by the NFSv4 server by default instead of minor version 0,
303b49ba74dSRick Macklem	for NFSv4 mounts.
304b49ba74dSRick Macklem	The "minorversion" mount option may be used to override this default.
305