xref: /freebsd/RELNOTES (revision f5dc2263ab1be8a35a7e27e82103f9ccd41ae584)
1Release notes for FreeBSD 16.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
1372e57bc26417, 3dfbbe8586bb, d8e8f9251975:
14	These patches provide improvements for the pNFS server
15	configuration.  New optional features include:
16	- Support for striped Flexible File Layouts (RFC8435).
17	- Support for pre-creation of files, allowing the
18	  Open/Create to be done without communicating with
19	  any DSs, so long as the cache of pre-created files
20	  is not depleted.
21
22b92b9da33006, 13d3bd165e22:
23	This patch allows vfs.nfsd.srvmaxio to be set to
24	a value as high as 4Mbytes.  It is usually set
25	via the nfs_server_maxio variable in /etc/rc.conf.
26
274c486fe40267:
28	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
29	That is, there is a multicast routing table per FIB, rather than a global
30	table.  One can run a multicast routing daemon within each FIB; the FIB of
31	the routing socket determines the corresponding multicast routing table.
32
335c2186b99254,628d7a3270b6:
34	When the sector size for an NVMe namespace changes, nda(4) now
35	reports this as a media change rather than a disk resize
36	event.  nda(4) also no longer reports a disk resize event in
37	some cases when the namespace's size had not changed.  nda(4)
38	also reprobes NVMe namespaces each time they are opened to
39	check for a new sector size or namespace size.
40
417a323f873662:
42	Remove the le(4) driver.  This driver supported older 10Mbps
43	and 100Mbps Ethernet adapters.  True hardware devices have not
44	been used in FreeBSD systems in many years, but the driver was
45	previously retained for use with MIPS QEMU virtual machines.
46
47e51ef8ae490f:
48	Add initial support for instruction-based sampling (IBS)
49	performance counters on AMD processors to hwpmc(4).
50
51d69fc3a9dc71:
52	The EFI boot loader now tries all ZFS pools found during
53	probing when looking for a boot pool.  Previously it would try
54	only the first pool found.
55
564d5c434ed16e:
57	Use the BSD-licensed implementation of diff3 instead of GNU diff3
58	by default.
59
607f54c65abc67:
61	Update the smartpqi(4) driver to vendor version 14.4690.0.2008
62	- 15.2.0.2008.  This includes support for new controllers and
63	renaming Microsemi to Microchip.
64
65350c1232a57a:
66	nvmecontrol(8)'s telemetry-log now works reliably.
67
68d14e018024bb,b125c4d13095,1322760fd127,0730a05cd383:
69	Permit both SCHED_ULE and SCHED_4BSD to be compiled into the
70	same kernel.  The scheduler can be selected at boot time by
71	setting the kern.sched_name tunable to the scheduler name
72	("4BSD" or "ULE").  The default scheduler is ULE.  This is
73	currently enabled in amd64 kernels by default.
74
7590a7728cd890:
76	Update nuageinit to request configuration on all network
77	interfaces.  nuageinit will now issue DHCP requests on all
78	network interfaces and request configuration data from the
79	first interface which successfully obtains a lease.
80
8192ba9b2fe589:
82	Add RoCE support for Broadcom BCM576xx controllers.
83
84fb4b0c911951:
85	Add a facility to witness(4) to provide more detailed information
86	about lock order reversals detailing when initial lock orders were
87	established.
88
8965f5dd42f11c:
90	sh(1) add -l option which makes sh act as a login shell and read the profile.
91
92beab8b1ddf86:
93	bintrans(1) now supports the RFC2047 variant of quoted print
94
959dc96d8bc3f2:
96	libusb(3) hotplug event are now really hotplugged using either
97	nlsysevent or devd(9) if available.
98
99d64db8892f85:
100	sh(1) is the default shell in the release media.
101
10268ad2b0d7af2:
103	ncurses has been updated to 6.6
104
10552d19df19ed6:
106	nvi(1) has been update to 2.2.2
107
1084d5c434ed16e, 2cfca8e710f2:
109	diff3(1) has replaced GNU diff3 and is now fully compatible.
110
111625dc44832cd:
112	tr(1) is now UTF-8 compliant.
113
11462fba0054d9e:
115	ee(1) is now UTF-8 compliant.
116
1175df6aca10906:
118	ed(1) is now UTF-8 compliant.
119
12028ff4d35f8b9:
121	Update libedit to 2026-04-03.
122
123b42e852e89cb:
124	Add a new pkg-serve(8) to serve packages over TCP via inetd.
125
1268b9775912cbc, 53b4ae3bf0f7:
127	Add support for an NFSv4 root file system.
128	Note that NFSv3 is still used for bootstrapping. See
129	"Diskless Operation with PXE" under "Advanced Networking" in the
130	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
131	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
132	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
133	or an additional line in /boot/loader.conf like
134	boot.nfsroot.user_domain="<user-domain>",
135	if you are running nfsuserd(8).
136
137ab9257599a5:
138	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
139	have been removed.
140
141af099eaa5ec:
142	Users belonging to the new vmm group can now create bhyve VMs.  See the
143	vmm(4) man page for details.
144
145c71354030a2:
146	Users wishing to use bhyve PCI passthrough in jails must create the
147	jail with the allow.vmm_ppt option configured.
148
1494d707825bf62:
150	The pdwait(2) system call was added.  It provides wait(2)-like
151	functionality for a process descriptor (see procdesc(4)).
152
1535c2ee618d5ec:
154	The pdrfork(2) system call was added.  It behaves like rfork(2) but
155	additionally returns a process descriptor (see procdesc(4)).
156
15741ccf82b29f3, 591c7a08bf8a:
158	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
159	the MOPS (Memory Operations) feature instructions when they are
160	implemented by the system.
161
1623f0aea09689f:
163	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
164	functions were added to libc.  The latter causes posix_spawn(3) to
165	call fexecve(2) on the specified file descriptor rather than executing
166	the file at the provided path.
167
168fb4b0c911951:
169	witness(4) now prints additional information to the system console when
170	a lock order reversal is detected, making debugging such issues easier.
171
1721322760fd127:
173	It is now possible to compile both the 4BSD and ULE schedulers into the
174	same kernel.  The scheduler is selectable at boot-time using a tunable.
175	See the SCHEDULERS section of the tuning(7) man page for details.
176
177627e126dbb07:
178	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
179	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
180	implicitly results in a loopback connection.
181
182afa70a8496e9:
183	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
184	the same functionality as pthread_join(3) but returns instead of
185	blocking if the target thread has not yet exited.
186
187ecc039be7fdd:
188	NanoBSD images can now be built as a non-root user.
189
1907f54c65abc67:
191        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
192        for the SmartArray storage controllers.  This adds support for new
193        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
194        and allows the I/O buffer size for a single passthrough ioctl to be
195        stored as a 32 bit integer instead of the original 16 bit integer.
196
197b0d997095022:
198	The pf firewall now supports passing IPv6 packets to divert(4)
199	sockets via divert-to actions.
200
2010fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
202	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
203	supported on RISC-V.
204
2058254b0dec02b3, bd55cbb50c588:
206	The mac(4) framework has been extended to support jail operations,
207	allowing a policy to constrain jail creation, modification, removal, and
208	attachment.  Jails have additionally been made a first-class mac(4)
209	object, and a mac.label jail(8) property has been added to facilitate
210	administration of their labels.
211
212c558eca47970:
213	The smartpqi(4) driver was updated to vendor version 4660.0.2002
214	for the SmartArry storage controllers.
215
216493d26c58e73:
217	The aq(4) driver was added, imported from the vendor repository.
218	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
219	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
220
2211a7151f79664:
222	A new CAM provider was added to dtrace.  This enables tracing of I/O
223	requests through the CAM layer without relying on fragile function
224	boundary tracing.  See dtrace_cam(4) for details.
225
226b8c99e7d912f:
227	The tdestroy(3) function was added to libc.  The tdestroy() function
228	destroys a whole search tree, freeing all allocated nodes.
229
2304bf8ce037dc8:
231	The rge(4) driver was added, ported from OpenBSD.  This provides
232	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
233	controllers.
234
235cbc6f7e941e4:
236	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
237	connections.
238
23939ee24182b92:
240	An rc(8) service can now be started as a specific user for auditing
241	purposes by setting the <service>_audit_user rc.conf(5) variable.
242
243dcb0790bad43:
244	A setaudit(8) utility was added to the base system.  This provides a
245	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
246	system calls.
247
2488e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
249	Add support for an extension to NFSv4.2 (RFCnnnn) that
250	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
251
252dbac191956f9, fe21dbf70aa8:
253	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
254	binaries.
255
256a86dc94b84d1:
257	tzdata2025c was imported.
258
259a98e5d785001:
260	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
261
262e967a2a03677:
263	divert socket compat removal, consumers must use PF_DIVERT instead of
264	PF_INET.
265
2664453ec5b8716b, 2a3b1641756a:
267	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
268	to the shutdown(8) command including invoking rc.d scripts to shutdown
269	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
270	reboot or shutdown.
271
272d9788eabffa4:
273	ipfilter cannot be used in a jail by default.
274
2750ff0c19e7f70:
276	ipfs(8) is no longer built by default.
277
278575efcfff22f:
279	sendfile(2)'s SF_SYNC flag was removed.
280
281057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
282	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
283	hwpmc(4) support for Intel Emerald Rapids CPUs
284	hwpmc(4) support for Intel Alder Lake-N CPUs
285
2861ecf01065b45:
287	New library libuvmem provides the vmem(9) API to userspace applications.
288
289b6cad334e64:
290	Make game controller devices accessible by members of the "game" group
291	by default.
292
293791c531402bd:
294	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
295	USB to serial devices.
296
297ec0cd287f55f:
298	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
299	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
300	the PDU offload provided by cxgbei(4) for iSCSI.
301