1f9f848faSopenharmony_ciRelease notes for FreeBSD 13.0.
2f9f848faSopenharmony_ci
3f9f848faSopenharmony_ciThis file describes new user-visible features, changes and updates relevant to
4f9f848faSopenharmony_ciusers of binary FreeBSD releases.  Each entry should describe the change in no
5f9f848faSopenharmony_cimore than several sentences and should reference manual pages where an
6f9f848faSopenharmony_ciinterested user can find more information.  Entries should wrap after 80
7f9f848faSopenharmony_cicolumns.  Each entry should begin with one or more commit IDs on one line,
8f9f848faSopenharmony_cispecified as a comma separated list and/or range, followed by a colon and a
9f9f848faSopenharmony_cinewline.  Entries should be separated by a newline.
10f9f848faSopenharmony_ci
11f9f848faSopenharmony_ciChanges to this file should not be MFCed.
12f9f848faSopenharmony_ci
13f9f848faSopenharmony_ci0644746d5091:
14f9f848faSopenharmony_ci	Add a new "syskrb5" mount option for Kerberized NFSv4.1/4.2 mounts.
15f9f848faSopenharmony_ci	Without this patch, a Kerberized NFSv4.1/4.2 mount must provide
16f9f848faSopenharmony_ci	a Kerberos credential for the client at mount time.
17f9f848faSopenharmony_ci	This patch uses a feature of NFSv4.1/4.2 called SP4_NONE, which
18f9f848faSopenharmony_ci	allows the state maintenance operations to be performed by any
19f9f848faSopenharmony_ci	authentication mechanism, so that these operations may be done via
20f9f848faSopenharmony_ci	AUTH_SYS instead of RPCSEC_GSS (KerberosV).  As such, no Kerberos
21f9f848faSopenharmony_ci	credential is required at mount time.
22f9f848faSopenharmony_ci	See mount_nfs(8).
23f9f848faSopenharmony_ci
24f9f848faSopenharmony_cib4805d577787 and many others:
25f9f848faSopenharmony_ci	Add support so that nfsd(8), nfsuserd(8), mountd(8), gssd(8)
26f9f848faSopenharmony_ci	and rpc.tlsservd(8) can be run in an appropriately configured
27f9f848faSopenharmony_ci	vnet prison.  The vnet prison must be on its own file system,
28f9f848faSopenharmony_ci	have the "allow.nfsd" jail parameter set on it and enforce_statfs
29f9f848faSopenharmony_ci	cannot be set to "0".  Use of UDP and pNFS server configurations
30f9f848faSopenharmony_ci	are not permitted.  (ie. The nfsd command line options "-u", "-p"
31f9f848faSopenharmony_ci	and "-m" are not supported.)
32f9f848faSopenharmony_ci	See jail(8), nfsd(8) and mountd(8).
33f9f848faSopenharmony_ci
34f9f848faSopenharmony_ci68e86d5265bc,e58dfd0de589,59f5a5cb724e,6e272a78de36,4c4a4fd4a649,ba2ae2cca63a:
35f9f848faSopenharmony_ci	sendmail has been updated to the latest upstream version (8.17.1).
36f9f848faSopenharmony_ci	
37f9f848faSopenharmony_ci225443828ec6..c44d097dcf92:
38f9f848faSopenharmony_ci	bhyve now supports more than 16 vCPUs in a guest.  By default
39f9f848faSopenharmony_ci	bhyve permits each guest to create the same number of vCPUs as
40f9f848faSopenharmony_ci	the count of physical CPUs on the host.  This limit can be
41f9f848faSopenharmony_ci	adjusted via the loader tunable hw.vmm.maxcpu.
42f9f848faSopenharmony_ci
43f9f848faSopenharmony_ci1462dc95f796:
44f9f848faSopenharmony_ci	Kernel TLS offload now supports receive-side offload of TLS 1.3.
45f9f848faSopenharmony_ci
46f9f848faSopenharmony_ci3ee882bf21af:
47f9f848faSopenharmony_ci	Change handling of the lowest address on an IPv4 (sub)net so that
48f9f848faSopenharmony_ci	packets are not sent as a broadcast unless this has been set as the 
49f9f848faSopenharmony_ci	broadcast address.  This makes the lowest address usable for a host.
50f9f848faSopenharmony_ci	The old behavior can be restored with the net.inet.ip.broadcast_lowest
51f9f848faSopenharmony_ci	sysctl.  For more information, see
52f9f848faSopenharmony_ci	https://datatracker.ietf.org/doc/draft-schoen-intarea-lowest-address/.
53f9f848faSopenharmony_ci
54f9f848faSopenharmony_ci33ff39796ffe,8719e8a951b7:
55f9f848faSopenharmony_ci        A new rc(8) service script zfskeys allows for automatic decryption
56f9f848faSopenharmony_ci        of ZFS datasets encrypted with ZFS native encryption during boot.
57f9f848faSopenharmony_ci        See the rc.conf(5) manual page for more information.
58f9f848faSopenharmony_ci
59f9f848faSopenharmony_cib7a2cf0d9102 - eae02d959363:
60f9f848faSopenharmony_ci	Upgrade bhyve's emulation to version 1.4 of the NVMe specification
61f9f848faSopenharmony_ci
62f9f848faSopenharmony_ci0a6760a1de32, 3f3676a71266, 580c04df4db6:
63f9f848faSopenharmony_ci	Add WiFi 6 support.
64f9f848faSopenharmony_ci
65f9f848faSopenharmony_civarious:
66f9f848faSopenharmony_ci	Add support for the HiFive Unmatched RISC-V board.
67f9f848faSopenharmony_ci
68f9f848faSopenharmony_ci9fb6e613373c:
69f9f848faSopenharmony_ci	Add a sysctl called vfs.nfsd.srvmaxio that can be used to
70f9f848faSopenharmony_ci	increase the NFS server's maximum I/O size from 128Kbytes
71f9f848faSopenharmony_ci	to any power of 2 up to 1Mbyte.  It can only be set when
72f9f848faSopenharmony_ci	the nfsd threads are not running and will normally require
73f9f848faSopenharmony_ci	an increase in kern.ipc.maxsockbuf to at least the value
74f9f848faSopenharmony_ci	recommended by the console log message generated when
75f9f848faSopenharmony_ci	setting vfs.nfsd.srvmaxio is first attempted.
76f9f848faSopenharmony_ci
77f9f848faSopenharmony_ci9ec7dbf46b0a:
78f9f848faSopenharmony_ci	Add a new NFSv4.1/4.2 mount option "nconnect" that can
79f9f848faSopenharmony_ci	be used to specify the number of TCP connections that
80f9f848faSopenharmony_ci	will be used for the mount, up to a maximum of 16.
81f9f848faSopenharmony_ci	The first (default) TCP connection will be used for
82f9f848faSopenharmony_ci	all RPCs that consist of small RPC messages.
83f9f848faSopenharmony_ci	The RPCs that can consist of large RPC messages
84f9f848faSopenharmony_ci	(Read/Readdir/ReaddirPlus/Write) will be sent on the
85f9f848faSopenharmony_ci	additional TCP connections in a round robin fashion.
86f9f848faSopenharmony_ci	If either the NFS client or NFS server have multiple
87f9f848faSopenharmony_ci	network interfaces aggregated together or a network
88f9f848faSopenharmony_ci	interface that uses multiple queues, this can increase
89f9f848faSopenharmony_ci	NFS performance for the mount.
90f9f848faSopenharmony_ci
91f9f848faSopenharmony_civarious:
92f9f848faSopenharmony_ci	One True Awk has been updated to the latest from upstream
93f9f848faSopenharmony_ci	(20210215). All the FreeBSD patches, but one, have now been
94f9f848faSopenharmony_ci	either up streamed or discarded.  Notable changes include:
95f9f848faSopenharmony_ci		o Locale is no longer used for ranges
96f9f848faSopenharmony_ci		o Various bugs fixed
97f9f848faSopenharmony_ci		o Better compatibility with gawk and mawk
98f9f848faSopenharmony_ci
99f9f848faSopenharmony_ci	The one FreeBSD change, likely to be removed in FreeBSD 14, is that
100f9f848faSopenharmony_ci	we still allow hex numbers, prefixed with 0x, to be parsed and
101f9f848faSopenharmony_ci	interpreted as hex numbers while all other awks (including one
102f9f848faSopenharmony_ci	true awk now) interpret them as 0 in line with awk's historic
103f9f848faSopenharmony_ci	behavior.
104f9f848faSopenharmony_ci
105f9f848faSopenharmony_ci8a04edfdcbd2:
106f9f848faSopenharmony_ci	Change the default minor version used for an NFSv4 mount
107f9f848faSopenharmony_ci	to the highest minor version supported by the NFSv4 server.
108f9f848faSopenharmony_ci	This default can be overridden by using the "minorversion"
109f9f848faSopenharmony_ci	mount option.
110f9f848faSopenharmony_ci
111f9f848faSopenharmony_ci2c76eebca71b, 59f6f5e23c1a:
112f9f848faSopenharmony_ci	Add two daemons rpc.tlsclntd(8) and rpc.tlsservd(8) that provide
113f9f848faSopenharmony_ci	support for NFS-over-TLS as described in the Internet Draft titled
114f9f848faSopenharmony_ci	"Towards Remote Procedure Call Encryption By Default".
115f9f848faSopenharmony_ci	These daemons are only built when WITH_OPENSSL_KTLS is specified
116f9f848faSopenharmony_ci	and are only tested on amd64 at this time.
117f9f848faSopenharmony_ci	They use KTLS to encrypt/decrypt all NFS RPC message traffic, plus
118f9f848faSopenharmony_ci	optional verification of machine identity via X.509 certificates.
119f9f848faSopenharmony_ci
120f9f848faSopenharmony_cif76393a6305b6:
121f9f848faSopenharmony_ci	Add AES-GCM support to armv8crypto(4) providing accelerated
122f9f848faSopenharmony_ci	support for KTLS, IPsec, and other crypto API consumers.
123f9f848faSopenharmony_ci
124f9f848faSopenharmony_ci074a91f746bd:
125f9f848faSopenharmony_ci	The aesni(4) and armv8crypto(4) devices are now included in
126f9f848faSopenharmony_ci	GENERIC on amd64, i386, and arm64.
127f9f848faSopenharmony_ci
128f9f848faSopenharmony_ci2e1c94aa1fd5:
129f9f848faSopenharmony_ci	Add support for enforcing W^X mapping policy for user
130f9f848faSopenharmony_ci	processes.  The policy is not enforced by default but can be
131f9f848faSopenharmony_ci	enabled by setting the kern.elf32.allow_wx and
132f9f848faSopenharmony_ci	kern.elf64.allow_wx sysctls to 0.  Individual binaries can be
133f9f848faSopenharmony_ci	exempted from the policy by elfctl(1) via the wxneeded
134f9f848faSopenharmony_ci	feature.
135f9f848faSopenharmony_ci
136f9f848faSopenharmony_ci4979620ece98:
137f9f848faSopenharmony_ci	Add AES-XTS support to armv8crypto(4) providing accelerated
138f9f848faSopenharmony_ci	software support for the default GELI cipher on arm64 systems.
139f9f848faSopenharmony_ci
140f9f848faSopenharmony_ci022ca2fc7fe0:
141f9f848faSopenharmony_ci	Add aio_writev(2) and aio_readv(2), vectored analogues of aio_write(2)
142f9f848faSopenharmony_ci	and aio_read(2).
143f9f848faSopenharmony_ci
144f9f848faSopenharmony_ci92bbfe1f0d1f:
145f9f848faSopenharmony_ci	The fusefs(5) protocol has been updated to 7.28.  Support for
146f9f848faSopenharmony_ci	FUSE_COPY_FILE_RANGE and FUSE_LSEEK is added.
147f9f848faSopenharmony_ci
148f9f848faSopenharmony_cir368667:
149f9f848faSopenharmony_ci	GDB 6.1.1 was removed.  Users of crashinfo(8) should install the
150f9f848faSopenharmony_ci	gdb package or devel/gdb port.
151f9f848faSopenharmony_ci
152f9f848faSopenharmony_cir368559:
153f9f848faSopenharmony_ci	The hme(4) driver was removed.
154f9f848faSopenharmony_ci
155f9f848faSopenharmony_cir367660:
156f9f848faSopenharmony_ci	Fixes the case where gssd will not startup because /usr is a separate
157f9f848faSopenharmony_ci	local file system that is not yet mounted.  It does not fix the case
158f9f848faSopenharmony_ci	where /usr is a separately mounted remote file system (such as NFS).
159f9f848faSopenharmony_ci	This latter case can be fixed by adding mountcritremote to the
160f9f848faSopenharmony_ci	REQUIRED line.  Unfortunately doing so implies that all Kerberized
161f9f848faSopenharmony_ci	NFS mounts in /etc/fstab will need the "late" mount option.
162f9f848faSopenharmony_ci	This was not done, since the requirement for "late" would introduce
163f9f848faSopenharmony_ci	a POLA violation.
164f9f848faSopenharmony_ci
165f9f848faSopenharmony_cir367423:
166f9f848faSopenharmony_ci	This commit added a new startup scripts variable called
167f9f848faSopenharmony_ci	nfsv4_server_only which uses the -R option on mountd added by r367026.
168f9f848faSopenharmony_ci	When nfsv4_server_only is set to "YES" in /etc/rc.conf, the NFS server
169f9f848faSopenharmony_ci	only handles NFSv4 and does not register with rpcbind.  As such, rpcbind
170f9f848faSopenharmony_ci	does not need to be running.  Useful for sites which consider rpcbind a
171f9f848faSopenharmony_ci	security issue.
172f9f848faSopenharmony_ci
173f9f848faSopenharmony_cir366267:
174f9f848faSopenharmony_ci        Kernel option ACPI_DMAR was renamed to IOMMU.  amd64's IOMMU subsystem
175f9f848faSopenharmony_ci        was split out from amd64 DMAR support and is now generic, i.e., it can
176f9f848faSopenharmony_ci        be used by all architectures.
177f9f848faSopenharmony_ci
178f9f848faSopenharmony_cir364896:
179f9f848faSopenharmony_ci	A series of commits ending with r364896 added NFS over TLS
180f9f848faSopenharmony_ci	to the kernel.  This is believed to be compatible with
181f9f848faSopenharmony_ci	the Internet Draft titled "Towards Remote Procedure Call Encryption
182f9f848faSopenharmony_ci	By Default" (expected to soon become an RFC).
183f9f848faSopenharmony_ci	The mount_nfs(8) and exports(5) man pages describe the mount and
184f9f848faSopenharmony_ci	export option(s) related to NFS over TLS.
185f9f848faSopenharmony_ci	For NFS over TLS to work, the rpctlscd(8) { client } or rpctlssd(8)
186f9f848faSopenharmony_ci	{ server } must be running on a kernel built with "options KERN_TLS"
187f9f848faSopenharmony_ci	on an architecture where PMAP_HAS_DMAP != 0.
188f9f848faSopenharmony_ci
189f9f848faSopenharmony_cir364725:
190f9f848faSopenharmony_ci	Changes to one obscure devd event generated on resume need to
191f9f848faSopenharmony_ci	be documented. The old form will still be generated in 13, but not
192f9f848faSopenharmony_ci	in 14.
193f9f848faSopenharmony_ci
194f9f848faSopenharmony_cir363679:
195f9f848faSopenharmony_ci	Applications using regex(3), e.g. sed/grep, will no longer accept
196f9f848faSopenharmony_ci	redundant escapes for most ordinary characters.
197f9f848faSopenharmony_ci
198f9f848faSopenharmony_cir363253:
199f9f848faSopenharmony_ci	SCTP support has been removed from GENERIC kernel configurations.
200f9f848faSopenharmony_ci	The SCTP stack is now built as sctp.ko and can be dynamically loaded.
201f9f848faSopenharmony_ci
202f9f848faSopenharmony_cir363233:
203f9f848faSopenharmony_ci	Merge sendmail 8.16.1: See contrib/sendmail/RELEASE_NOTES for details.
204f9f848faSopenharmony_ci
205f9f848faSopenharmony_cir363180:
206f9f848faSopenharmony_ci	The safexcel(4) crypto offload driver has been added.
207f9f848faSopenharmony_ci
208f9f848faSopenharmony_cir363084:
209f9f848faSopenharmony_ci	nc(1) now implements SCTP mode, enabled by specifying the --sctp option.
210f9f848faSopenharmony_ci
211f9f848faSopenharmony_cir362681:
212f9f848faSopenharmony_ci	A new implementation of bc and dc has been imported. It offers
213f9f848faSopenharmony_ci	better standards compliance, performance, localization and comes
214f9f848faSopenharmony_ci	with extensive test cases that are optionally installed.
215f9f848faSopenharmony_ci	Use WITHOUT_GH_BC=yes to build and install the world with the
216f9f848faSopenharmony_ci	previous version instead of the new one, if required.
217f9f848faSopenharmony_ci
218f9f848faSopenharmony_cir362158, r362163:
219f9f848faSopenharmony_ci	struct export_args has changed so that the "user" specified for
220f9f848faSopenharmony_ci	the -maproot and -mapall exports(5) options may be in more than
221f9f848faSopenharmony_ci	16 groups.
222f9f848faSopenharmony_ci
223f9f848faSopenharmony_cir361884:
224f9f848faSopenharmony_ci	sed(1) has learned about hex escapes (e.g. \x27) and will now do the
225f9f848faSopenharmony_ci	right thing with them, removing the need for printf magic or obnoxious
226f9f848faSopenharmony_ci	escaping in many scenarios.
227f9f848faSopenharmony_ci
228f9f848faSopenharmony_cir361238, r361798, r361799:
229f9f848faSopenharmony_ci	ZFS will now unconditionally reject read(2) of a directory with EISDIR.
230f9f848faSopenharmony_ci	Additionally, read(2) of a directory is now rejected with EISDIR by
231f9f848faSopenharmony_ci	default and may be re-enabled for non-ZFS filesystems that allow it with
232f9f848faSopenharmony_ci	the sysctl(8) MIB 'security.bsd.allow_read_dir'.
233f9f848faSopenharmony_ci
234f9f848faSopenharmony_ci	Aliases for grep to default to '-d skip' may be desired if commonly
235f9f848faSopenharmony_ci	non-recursively grepping a list that includes directories and the
236f9f848faSopenharmony_ci	possibility of EISDIR errors in stderr is not tolerable.  Example
237f9f848faSopenharmony_ci	aliases, commented out, have been installed in /root/.cshrc and
238f9f848faSopenharmony_ci	/root/.shrc.
239f9f848faSopenharmony_ci
240f9f848faSopenharmony_cir361066:
241f9f848faSopenharmony_ci	Add exec.prepare and exec.release hooks for jail(8) and jail.conf(5).
242f9f848faSopenharmony_ci	exec.prepare runs before mounts, so can be used to populate new jails.
243f9f848faSopenharmony_ci	exec.release runs after unmounts, so can be used to remove ephemeral
244f9f848faSopenharmony_ci	jails.
245f9f848faSopenharmony_ci
246f9f848faSopenharmony_cir360920,r360923,r360924,r360927,r360928,r360931,r360933,r360936:
247f9f848faSopenharmony_ci	Remove support for ARC4, Blowfish, Cast, DES, Triple DES, MD5,
248f9f848faSopenharmony_ci	MD5-KPDK, MD5-HMAC, SHA1-KPDK, and Skipjack algorithms from
249f9f848faSopenharmony_ci	the kernel open cryptographic framework (OCF).
250f9f848faSopenharmony_ci
251f9f848faSopenharmony_cir360562:
252f9f848faSopenharmony_ci	Remove support for ARC4, Blowfish, Cast, DES, Triple DES,
253f9f848faSopenharmony_ci	MD5-HMAC, and Skipjack algorithms from /dev/crypto.
254f9f848faSopenharmony_ci
255f9f848faSopenharmony_cir360557:
256f9f848faSopenharmony_ci	Remove support for DES, Triple DES, Blowfish, Cast, and
257f9f848faSopenharmony_ci	Camellia ciphers from IPsec(4).  Remove support for MD5-HMAC,
258f9f848faSopenharmony_ci	Keyed MD5, Keyed SHA1, and RIPEMD160-HMAC from IPsec(4).
259f9f848faSopenharmony_ci
260f9f848faSopenharmony_cir359945:
261f9f848faSopenharmony_ci	Remove support for Triple DES, Blowfish, and MD5 HMAC from
262f9f848faSopenharmony_ci	geli(4).
263f9f848faSopenharmony_ci
264f9f848faSopenharmony_cir359786-r359787:
265f9f848faSopenharmony_ci	Remove support for DES, Triple DES, and RC4 from in-kernel GSS
266f9f848faSopenharmony_ci	authentication.
267f9f848faSopenharmony_ci
268f9f848faSopenharmony_cir357627:
269f9f848faSopenharmony_ci	remove elf2aout.
270f9f848faSopenharmony_ci
271f9f848faSopenharmony_cir357560-r357565:
272f9f848faSopenharmony_ci	init(8), service(8), and cron(8) will now adopt user/class environment
273f9f848faSopenharmony_ci	variables (excluding PATH, by default, which will be overwritten) by
274f9f848faSopenharmony_ci	default.  Notably, environment variables for all cron jobs and rc
275f9f848faSopenharmony_ci	services can now be set via login.conf(5).
276f9f848faSopenharmony_ci
277f9f848faSopenharmony_cir357455:
278f9f848faSopenharmony_ci	sparc64 has been removed from FreeBSD.
279f9f848faSopenharmony_ci
280f9f848faSopenharmony_cir355677:
281f9f848faSopenharmony_ci	Adds support for NFSv4.2 (RFC-7862) and Extended Attributes
282f9f848faSopenharmony_ci	(RFC-8276) to the NFS client and server.
283f9f848faSopenharmony_ci	NFSv4.2 is comprised of several optional features that can be supported
284f9f848faSopenharmony_ci	in addition to NFSv4.1. This patch adds the following optional features:
285f9f848faSopenharmony_ci	- posix_fadvise(POSIX_FADV_WILLNEED/POSIX_FADV_DONTNEED)
286f9f848faSopenharmony_ci	- posix_fallocate()
287f9f848faSopenharmony_ci	- intra server file range copying via the copy_file_range(2) syscall
288f9f848faSopenharmony_ci	--> Avoiding data tranfer over the wire to/from the NFS client.
289f9f848faSopenharmony_ci	- lseek(SEEK_DATA/SEEK_HOLE)
290f9f848faSopenharmony_ci	- Extended attribute syscalls for "user" namespace attributes as defined
291f9f848faSopenharmony_ci	  by RFC-8276.
292f9f848faSopenharmony_ci	
293f9f848faSopenharmony_ci	For the client, NFSv4.2 is only used if the mount command line option
294f9f848faSopenharmony_ci	minorversion=2 is specified.
295f9f848faSopenharmony_ci	For the server, two new sysctls called vfs.nfsd.server_min_minorversion4
296f9f848faSopenharmony_ci 	and vfs.nfsd.server_max_minorversion4 have been added that allow
297f9f848faSopenharmony_ci	sysadmins to limit the minor versions of NFSv4 supported by the nfsd
298f9f848faSopenharmony_ci	server.
299f9f848faSopenharmony_ci	Setting vfs.nfsd.server_max_minorversion4 to 0 or 1 will disable NFSv4.2
300f9f848faSopenharmony_ci	on the server.
301f9f848faSopenharmony_ci
302f9f848faSopenharmony_cir356263:
303f9f848faSopenharmony_ci	armv5 support has been removed from FreeBSD.
304f9f848faSopenharmony_ci
305f9f848faSopenharmony_cir354517:
306f9f848faSopenharmony_ci	iwm(4) now supports most Intel 9260, 9460 and 9560 Wi-Fi devices.
307f9f848faSopenharmony_ci
308f9f848faSopenharmony_cir354269:
309f9f848faSopenharmony_ci	sqlite3 is updated to sqlite3-3.30.1.
310f9f848faSopenharmony_ci
311f9f848faSopenharmony_cir352668:
312f9f848faSopenharmony_ci	cron(8) now supports the -n (suppress mail on succesful run) and -q
313f9f848faSopenharmony_ci	(suppress logging of command execution) options in the crontab format.
314f9f848faSopenharmony_ci	See the crontab(5) manpage for details.
315f9f848faSopenharmony_ci
316f9f848faSopenharmony_cir352304:
317f9f848faSopenharmony_ci	ntpd is no longer by default locked in memory. rlimit memlock 32
318f9f848faSopenharmony_ci	or rlimit memlock 0 can be used to restore this behaviour.
319f9f848faSopenharmony_ci
320f9f848faSopenharmony_cir351863:
321f9f848faSopenharmony_ci	rc.subr(8) now honors ${name}_env in all rc(8) scripts.  Previously,
322f9f848faSopenharmony_ci	environment variables set by a user via ${name}_env were ignored
323f9f848faSopenharmony_ci	if the service defined a custom *_cmd variable to control the behavior
324f9f848faSopenharmony_ci	of the run_rc_command function, e.g., start_cmd, instead of relying on
325f9f848faSopenharmony_ci	the variables like command and command_args,
326f9f848faSopenharmony_ci
327f9f848faSopenharmony_cir351770,r352920,r352922,r352923:
328f9f848faSopenharmony_ci	dd(1) now supports conv=fsync, conv=fdatasync, oflag=fsync, oflag=sync,
329f9f848faSopenharmony_ci	and iflag=fullblock flags, compatible with illumos and GNU.
330f9f848faSopenharmony_ci
331f9f848faSopenharmony_cir351522:
332f9f848faSopenharmony_ci	Add kernel-side support for in-kernel Transport Layer Security
333f9f848faSopenharmony_ci	(KTLS).  KTLS permits using sendfile(2) over sockets using
334f9f848faSopenharmony_ci	TLS.
335f9f848faSopenharmony_ci
336f9f848faSopenharmony_cir351397:
337f9f848faSopenharmony_ci	WPA is updated from 2.8 to 2.9.
338f9f848faSopenharmony_ci
339f9f848faSopenharmony_cir351361:
340f9f848faSopenharmony_ci	Add probes for lockmgr(9) to the lockstat DTrace provider, add
341f9f848faSopenharmony_ci	corresponding lockstat(1) events, and document the new probes in
342f9f848faSopenharmony_ci	dtrace_lockstat.4.
343f9f848faSopenharmony_ci
344f9f848faSopenharmony_cir351356:
345f9f848faSopenharmony_ci	Intel RST is a new 'feature' that remaps NVMe devices from
346f9f848faSopenharmony_ci	their normal location to part of the AHCI bar space.  This
347f9f848faSopenharmony_ci	will eliminate the need to set the BIOS SATA setting from RST
348f9f848faSopenharmony_ci	to AHCI causing the nvme drive to be erased before FreeBSD
349f9f848faSopenharmony_ci	will see the nvme drive. FreeBSD will now be able to see the
350f9f848faSopenharmony_ci	nvme drive now in the default config.
351f9f848faSopenharmony_ci
352f9f848faSopenharmony_cir351201, r351372:
353f9f848faSopenharmony_ci	Add a vop_stdioctl() call, so that file systems that do not support
354f9f848faSopenharmony_ci	holes will have a trivial implementation of lseek(SEEK_DATA/SEEK_HOLE).
355f9f848faSopenharmony_ci	The algorithm appears to be compatible with the POSIX draft and
356f9f848faSopenharmony_ci	the implementation in Linux for the case of a file system that
357f9f848faSopenharmony_ci	does not support holes.  Prior to this patch, lseek(2) would reply
358f9f848faSopenharmony_ci	-1 with errno set to ENOTTY for SEEK_DATA/SEEK_HOLE on files in
359f9f848faSopenharmony_ci	file systems that do not support holes.
360f9f848faSopenharmony_ci	r351372 maps ENOTTY to EINVAL for lseek(SEEK_DATA/SEEK_HOLE) for
361f9f848faSopenharmony_ci	any other cases, such as a ENOTTY return from vn_bmap_seekhole().
362f9f848faSopenharmony_ci
363f9f848faSopenharmony_cir350665:
364f9f848faSopenharmony_ci	The fuse driver has been renamed to fusefs(5) and been substantially
365f9f848faSopenharmony_ci	rewritten.  The new driver includes many bug fixes and performance
366f9f848faSopenharmony_ci	enhancements, as well as the following user-visible features:
367f9f848faSopenharmony_ci	* Optional kernel-side permissions checks (-o default_permissions)
368f9f848faSopenharmony_ci	* mknod(2), socket(2), and pipe(2) support
369f9f848faSopenharmony_ci	* server side locking with fcntl(2)
370f9f848faSopenharmony_ci	* FUSE operations are now interruptible when mounted with -o intr
371f9f848faSopenharmony_ci	* server side handling of UTIME_NOW during utimensat(2)
372f9f848faSopenharmony_ci	* mount options may be updated with "mount -u"
373f9f848faSopenharmony_ci	* fusefs file system may now be exported over NFS
374f9f848faSopenharmony_ci	* RLIMIT_FSIZE support
375f9f848faSopenharmony_ci	* support for fuse file systems using protocols as old as 7.4
376f9f848faSopenharmony_ci	
377f9f848faSopenharmony_ci	FUSE file system developers should also take note of the following new
378f9f848faSopenharmony_ci	features:
379f9f848faSopenharmony_ci	* The protocol level has been raised from 7.8 to 7.23
380f9f848faSopenharmony_ci	* kqueue support on /dev/fuse
381f9f848faSopenharmony_ci	* server-initiated cache invalidation via FUSE_NOTIFY_REPLY
382f9f848faSopenharmony_ci
383f9f848faSopenharmony_cir350471:
384f9f848faSopenharmony_ci	gnop(8) can now configure a delay to be applied to read and write
385f9f848faSopenharmony_ci	request delays.  See the -d, -q and -x parameters.
386f9f848faSopenharmony_ci
387f9f848faSopenharmony_cir350315, r350316:
388f9f848faSopenharmony_ci	Adds a Linux compatible copy_file_range(2) syscall.
389f9f848faSopenharmony_ci
390f9f848faSopenharmony_cir350307:
391f9f848faSopenharmony_ci	libcap_random(3) has been removed.  Applications can use native
392f9f848faSopenharmony_ci	APIs to get random data in capability mode.
393f9f848faSopenharmony_ci
394f9f848faSopenharmony_cir349529,r349530:
395f9f848faSopenharmony_ci	Add support for using unmapped mbufs with sendfile(2).
396f9f848faSopenharmony_ci
397f9f848faSopenharmony_cir349352:
398f9f848faSopenharmony_ci	nand(4) and related components have been removed.
399f9f848faSopenharmony_ci
400f9f848faSopenharmony_cir349349:
401f9f848faSopenharmony_ci	The UEFI loader now supports HTTP boot.
402f9f848faSopenharmony_ci
403f9f848faSopenharmony_cir349335:
404f9f848faSopenharmony_ci	bhyve(8) now implements a High Definition Audio (HDA) driver, allowing
405f9f848faSopenharmony_ci	guests to play to and record audio data from the host.
406f9f848faSopenharmony_ci
407f9f848faSopenharmony_cir349286:
408f9f848faSopenharmony_ci	swapon(8) can now erase a swap device immediately before enabling it,
409f9f848faSopenharmony_ci	similar to newfs(8)'s -E option.  This behaviour can be specified by
410f9f848faSopenharmony_ci	adding -E to swapon(8)'s command-line parameters, or by adding the
411f9f848faSopenharmony_ci	"trimonce" option to a swap device's /etc/fstab entry.
412f9f848faSopenharmony_ci
413f9f848faSopenharmony_cir347908-r347923:
414f9f848faSopenharmony_ci	The following network drivers have been removed: bm(4), cs(4), de(4),
415f9f848faSopenharmony_ci	ed(4), ep(4), ex(4), fe(4), pcn(4), sf(4), sn(4), tl(4), tx(4), txp(4),
416f9f848faSopenharmony_ci	vx(4), wb(4), xe(4).
417f9f848faSopenharmony_ci
418f9f848faSopenharmony_cir347532:
419f9f848faSopenharmony_ci	Wired page accounting has been split into kernel wirings and user
420f9f848faSopenharmony_ci	wirings (e.g., by mlock(2)).  Kernel wirings no long count towards
421f9f848faSopenharmony_ci	the global limit, which is renamed to vm.max_user_wired.  bhyve -S
422f9f848faSopenharmony_ci	allocates user-wired memory and is now subject to that limit.
423